检测到IE8 javascript为IE7
我试图检测IE7或IE6,并使用下面的javascript命令将用户重定向到错误页面检测到IE8 javascript为IE7,javascript,internet-explorer,Javascript,Internet Explorer,我试图检测IE7或IE6,并使用下面的javascript命令将用户重定向到错误页面 var Browser = { Version: function () { var version = 999; // we assume a sane browser if (navigator.appVersion.indexOf("MSIE") != -1) // bah, IE again, lets downg
var Browser = {
Version: function () {
var version = 999; // we assume a sane browser
if (navigator.appVersion.indexOf("MSIE") != -1)
// bah, IE again, lets downgrade version number
version = parseFloat(navigator.appVersion.split("MSIE")[1]);
return version;
}
}
if (Browser.Version() == 7 || Browser.Version() == 6) {
if (window.location.href != "/browser_problem") {
window.location.href = "/browser_problem";
}
}
我得到一些反馈,ie版本8.0.7601.17514将用户重定向到错误页面
就像他们在ie 7或6上一样
你知道问题出在哪里吗?我想你得到了这个解决方案 如果你通读你正在使用的代码块的注释(在上面的链接上),你会发现其他人也有与你相同的问题 代码本身是合理的(尽管您会发现一些人不认为以这种方式进行浏览器嗅探是一种很好的做法) Internet Explorer 8被捕获并重定向的原因是:
- 用户的浏览器处于IE7兼容模式(可以从“工具”菜单或URL栏中的小浏览器图标(IE8)智能化,可以自动检测并切换到IE7模式。这通常是由无效标记引起的)李>
- 网站本身正在使用
或类似工具将浏览器强制进入IE7模式X-UA-Compatible
X-UA-Compatible
meta标记:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
可更改为:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
使用条件注释。无论如何不要使用浏览器检测。使用功能检测检查失败。请检查此项。可能的重复项使用JavaScript程序中的条件注释来确定IE版本。这是可靠的,因为条件评论不能被欺骗。很可能他在一个内部网站上,迫使IE进入兼容模式。你应该使用IE=Edge。如果页面开头没有文档类型声明,那些meta
s就没有影响。谢谢@Christoph,你完全正确。问题更新为更清晰一点。我习惯于强制ie10像9一样工作,我如何使用IE=Edge?如果你真的需要强制ie10进入IE9模式,那么请使用IE=9
。但edge
更可取;如果您认为您需要的不是edge
,那么它表明您的代码中可能还有其他需要修复的内容,因为在IE10中切换到IE9模式不会修复任何重大错误。