Мой веб-сайт хочет быть открытым IE7 и выше. Если IE 6, я хочу создать предупреждение и бесплатно загрузить другие значки браузера. Возможно ли это?
Вы можете получить некоторые примеры, которые не требуют сценариев на стороне сервера из ie6nomore.com .
Они используют функцию условных комментариев IE, например:
<!--[if lt IE 7]> Your browser is outdated! <![endif]-->
Но примеры на сайте действительно предлагают ссылки на другие браузеры. Конечно, вы можете перевернуть свою собственную версию, которая лучше подходит для вашего макета.
Конечно, вы можете сделать эту серверную сторону, если хотите, поскольку вы все равно используете PHP. Другие примеры здесь, используя $_SERVER["HTTP_USER_AGENT"]
должны начать вас. Использование get_browser
может быть чрезмерным, поскольку для этого требуется довольно большой файл данных.
Если вы заинтересованы только в обнаружении старой версии сервера IE, это должно сделать следующее:
preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches); if (count($matches) > 1 && $matches[1] <= 6.0) { echo "Your browser is outdated"; }
Использовать условные комментарии IE на вашей странице
<!--[if lt IE 7]> include a warning here (in an iframe, perhaps, to save extra bandwidth) <![endif]-->
Там выходит простой плагин jQuery для этого, он называется IE Alert. Проверьте это: http://nmsdvid.com/iealert/
Вы можете проверить переменную $_SERVER['HTTP_USER_AGENT']
для IE.
if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) || eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) { // IE }
Вы должны сделать это легко, используя встроенную функцию get_browser
.
Если вы хотите увидеть, как выглядит вывод, если он посещен IE 6, вы можете получить строку пользовательского агента из UserAgentString.com, чтобы проверить ее.
Кроме того, вы также можете проверить его с помощью JavaScript
/* * Check whether the current browser is IE6 */ function isBrowserIE6() { if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) { return true; } else { return false; } }
(Выше было бы работать в среде ASP.net. Вот сообщение в блоге, в котором браузер IE просматривает собственный путь).
Затем вы добавляете элемент HTML-контейнера на свою страницу
<div id="ie6BrowserWarning" style="display:none"> Your browser is outdated. Please download one of the alternative browsers! <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> </div>
И на загрузке страницы вы делаете
<html> <head> <script type="text/javascript"> function doIE6WarningCheck() { var element = document.getElementById("ie6BrowserWarning"); var isIE6 = isBrowserIE6(); if(element != null && isIE6 == true) { element.style.display = "block"; } } </script> </head> <body onLoad="doIE6WarningCheck()"> <div id="ie6BrowserWarning" style="display:none"> Your browser is outdated. Please download one of the alternative browsers! <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> </div> </body> </html>
Я не проверял это, просто написал это из головы прямо сейчас. Тебе придется это сделать, но я думаю, это должно сработать. Firebug всегда является хорошим вариантом для отладки JavaScript.
используйте свой скрипт, чтобы продвинуть пользователя, чтобы обновить свой браузер, его настраиваемый. Вы можете проверить любой браузер не только, то 6
http://www.browser-update.org/
Как я могу показать сообщение браузерам IE6 / IE7 для обновления до IE8 и IE8 не показывать предупреждение IE7?