所以我要在我的网站上添加一个重定向,将每个正在使用的内容(即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>
答案 0 :(得分:12)
您的代码始终会转到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;
答案 1 :(得分:9)
所以你可以这样做:
<script type="text/javascript">
<!--[if (!IE)|(gt IE 7)]>
window.location = "ie.html"
<![endif]-->
<!--[if lt IE 8]>
window.location = "main.html"
<![endif]-->
</script>
答案 2 :(得分: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>
答案 3 :(得分:2)
您可以使用此正则表达式对其进行测试:(MSIE\ [0-7]\.\d+)
以下是有关如何使用它的JavaScript示例:
if (/(MSIE\ [0-7]\.\d+)/.test(navigator.userAgent)) {
// do something
}
答案 4 :(得分:1)
我一直使用Quirks Mode的BrowserDetect.js来满足我的浏览器检测需求。看看 - http://www.quirksmode.org/js/detect.html
一旦引用了.js文件,就可以访问大量信息:
//Browser Name
BrowserDetect.browser
//Browser Version
BrowserDetect.version
//Operating system
BrowserDetect.OS
答案 5 :(得分:0)