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