Определить, является ли браузер IE 7 или ниже?
Итак, я собираюсь добавить перенаправление на мой сайт, чтобы бросить все, что использует, т.е. 7 или ниже, на другую страницу и придумал этот JavaScript, но, похоже, он перестает работать.
<script type="text/javascript">
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
if (ieversion<=8)
window.location = "ie.html"
}
window.location = "main.html"
</script>
Ответы
Ответ 1
Ваш код всегда приводит к переходу на main.html
. Даже когда код попадает в <8
, вы выпадаете из if
в значение main
.
Рассмотрим рефакторинг либо:
- установка
return
после установки на ie
.
или
var redir="main.html";
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
{
var ieversion=new Number(RegExp.$1);
if (ieversion<=8)
{
redir = "ie.html";
}
}
window.location = redir;
Ответ 2
Отметьте условные комментарии.
Итак, вы можете сделать что-то вроде:
<script type="text/javascript">
<!--[if (!IE)|(gt IE 7)]>
window.location = "ie.html"
<![endif]-->
<!--[if lt IE 8]>
window.location = "main.html"
<![endif]-->
</script>
Ответ 3
Условные комментарии (как это предлагает @Kon) - это путь. Здесь рабочая реализация:
<script type="text/javascript">
var ie7OrLower = false;
</script>
<!--[if lte IE 7]><script type="text/javascript">
ie7OrLower = true;
</script><![endif]-->
<script type="text/javascript">
window.location = ie7OrLower ? "ie.html" : "main.html";
</script>
Ответ 4
Вы можете проверить его с помощью этого регулярного выражения: (MSIE\[0-7].\d +)
Вот пример JavaScript о том, как его использовать:
if (/(MSIE\ [0-7]\.\d+)/.test(navigator.userAgent)) {
// do something
}
Ответ 5
Я всегда использовал режим Quirks Mode BrowserDetect.js для моих нужд обнаружения браузера. Проверьте это - http://www.quirksmode.org/js/detect.html
Как только вы ссылаетесь на файл .js, вы можете получить доступ к большому количеству информации:
//Browser Name
BrowserDetect.browser
//Browser Version
BrowserDetect.version
//Operating system
BrowserDetect.OS
Ответ 6
Я бы просто использовал примеры в http://www.ie6nomore.com/