Перенаправление на страницу в зависимости от типа браузера

Всем известны проблемы несовместимости современных браузеров. Страница, прекрасно работающая в ie, не показывается в firefox mozilla. Эта небольшая статья обяъсняет, как автоматически показывать пользователю нужные страницы в зависимости от используемого им браузера.

Иногда требуется показывать содержимое веб-страницы в зависимости от типа пользовательского браузера, потому что разные браузеры показывают некоторые виды содержимого по-разному. Страница, прекрасно работающая в ie, не показывается в firefox mozilla. Особенно это касается динамических страниц с использованием javascript. Следующий скрипт при запуске его из браузера автоматически определит название и версию браузера и загрузит соответствующую страницу.

// если это msie, то
if ($name = strstr ($http_user_agent, "msie"))
{
// выводим страницу для internet explorer
header ("location: http://www.mysite.com/ie.php");
}
else
{
// если другой браузер
header ("location: http://www.mysite/other.php");
}
?>
Как php скрипт определяет тип браузера? При запуске php-скрипта, ему посредством интерфейса cgi (интерфейс взаимодеиствяи браузера, сервера и серверных приложений) в переменной $http_user_agent будет сохранено название и версия браузера, заданные его разработчиком. Например, значение $http_user_agent может быть таким: "mozilla/4.0 (compatible; msie 5.00; windows 98)", которое выдаётся браузером internet explorer 5 под windows 98. Переменная напрямую доступна в php-скрипте в момент его вызова, поэтому никаких дополнительных преобразований (как например в perl) не требуется. Функция strstr() ищет подстроку "msie" в переменной $http_user_agent. Если совпадение есть, то функция header ("location: http://www.mysite.com/ie.php") даст браузеру указание загрузить страницу с соответствующим url, иначе будет загружена другая страница.


2008 © Computer repair