Динамическое определение разрешения монитора

Недавно гражданин N спросил нас о том, как заставить браузер пользователя загружать ту или иную версию страницы в зависимости от того, какое установлено экранное разрешение у этого пользователя. Пробуем ответить…

Для этой цели можно использовать небольшой Java-скрипт. Главная задача – это определить разрешение, а что после этого делать (вывести сообщение или перейти на другую страницу) – дело десятое. В общем случае принцип таков: сначала загружается страница-бланк, содержащая скрипт (ее также можно параллельно использовать для динамического определения браузера), затем автоматически осуществляется переход на соответствующую страницу, в зависимости от выполнения тех или иных условий.

<html>
<body>

<script language="JavaScript">
<!--
// Сначала определяем разрешение
if (self.screen) { // для браузеров 4-тых версий
width = screen.width
height = screen.height
}
else if (self.java) { // для NN3 (enabled Java)
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}else{
width = height = 'x' // для прочих браузеров
}
// Теперь выполняем нужное действие
if (width == 640) {
location.href='480x640/index.html' }
else if (width == 800) {
location.href='600x800/index.html' }
else if (width == 1024) {
location.href='768x1024/index.html' }
else if (width == 1280) {
location.href='hi-resolution/index.html' }
else {
location.href='default_resolution/index.html' }
//-->
</script>

</body>
</html>

Если вам не лень делать более одной версии страниц, можно использовать подобный HTML-код в качестве дефолтовой страницы вашего сайта. Во избежание проблем с браузерами, не поддерживающими JavaScript, в контейнер <HEAD> можно добавить мета-инструкцию переадресации:

<META HTTP-EQUIV=REFRESH CONTENT="2;
URL=default_resolution/index.html">
<!-- Если в течении 2 секунд браузер не выполнит наш
скрипт, то произойдет принудительный переход
 на указанную страницу -->

Если ваши страницы формируются исключительно CSS, то скрипт можно переделать под подгрузку различных style.css (style1.css, style2.css) в зависимоси от разрешения браузера.

Для этого в строку:

<link rel="stylesheet" href="style.css" type="text/css" />
нужно ввести переменную вместо style.css.
                             
Рубрика: Секреты HTML

Добавить комментарий

Вам надо войти, чтобы написать комментарий.