Перенаправление на страницу в зависимости от типа браузераВсем известны проблемы несовместимости современных браузеров. Страница, прекрасно работающая в 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, иначе будет загружена другая страница. |