Internet Explorer. Не определяется тип браузера
Primary tabs
Пример взят из книги С.Хольцнера "PHP в примерах" (стр.183-185) в рамках учебного курса PHP с нуля.
С помощью переменной
$_SERVER ["HTTP_USER_AGENT"]
не распознаётся Internet Explorer. Всегда выводится сообщение: "Вы используете НЕ IntExplorer". В чём ошибка?
HTML-форма:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>
Экспериментальный Web
</title>
</head>
<body>
<form method="post" action="4_phpBrowser.php">
<b> Определить тип браузера </b><br><br>
<input type="submit" value="ok">
</form><br><br>
</body>
</html>Скрипт-обработчик:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>
Определение типа браузера
</title>
</head>
<body>
<?php
if (strpos($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo "<marquee><h1> Вы используете Internet Explorer </h1></marquee>";
}
else {
echo "<center><h1> Вы используете не Internet Explorer </h1></center>";
}
?>
</body>
</html>- Log in to post comments
- 4392 reads
vedro-compota
Thu, 05/04/2017 - 12:19
Permalink
времена меняются ;)
Что делать
В принципе объяснение проблемы дано здесь: https://habrahabr.ru/sandbox/67192/
А конкретно нас интересует вот это:
Таким образом надо просто искать подстроку Trident (типа "трезубец") -- а-ля:
if (strpos($_SERVER["HTTP_USER_AGENT"], "Trident")) {Также отметим, что экплорер стал "маскироваться" как файрфокс, предпочитая чтобы его определяли как gecko совместимый браузер,
а Gecko -- это движок рисования страниц -- сердце браузера firefox.
Когда началась проблема
В статье написано, что :
--то есть в 10-ой версии IE (Internet Explorer) в юзер-агент строке ещё
была подстрока "MSIE", а в IE11 её не было.
Также нам любезно сообщают, что версия браузера теперь идёт после подстроки rv:
Такие дела)
_____________
матфак вгу и остальная классика =)