Недавно гражданин И. спросил нас о том, как заставить браузер пользователя загружать ту или иную версию страницы в зависимости от того, какое установлено экранное разрешение у этого пользователя. Пробуем ответить...
Для этой цели можно использовать небольшой 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 секунд браузер не выполнит наш скрипт, то произойдет принудительный переход на указанную страницу -->
Вот и все.