Internet Explorer ver 11企业模式检测

时间:2015-04-21 22:10:18

标签: javascript internet-explorer

最近我的团队陷入了一种奇怪的境地。去年年底,我们从IE 8迁移到IE 11.我们的应用程序现在可以在IE 11企业模式下运行。

如果用户使用IE 8,我们需要显示javascript警报消息以升级浏览器。警报消息已成功显示给使用IE 8的用户。但是当警报消息也显示给用户时会出现问题。在企业模式下使用IE11。我知道IE11企业模式基本上模拟了IE 8的行为,这就是我们的浏览器检测功能失败的原因。

所以我想检查某人是否已经实现了这种功能,即使他们使用IE 11企业模式,他们也可以成功检测到IE版本。

所有回复都很有价值。感谢您的回复!!!

3 个答案:

答案 0 :(得分:1)

根据MSDN:

  

从Internet Explorer 11开始,用户代理字符串已更改   显着...依赖于用户代理字符串的站点应该是   更新为现代技术,如特征检测,自适应   布局和其他现代实践。

https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx

虽然EM中的IE11抛出

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Tablet PC 2.0)

不建议只寻找" MSIE"在userAgent中,而是尝试:

var isIE11 = !!navigator.userAgent.match(/Trident.*rv[ :]*11\./)

答案 1 :(得分:0)

我自己只是在研究这个问题。我最近偶然发现了this - 但无法让它可靠地工作 - 但是寻找通常不可用的IE功能的概念是合理的。

我现在的计划是使用IETruth获取版本号(它非常擅长对IE11进行版本检测)然后执行以下操作:

var IE = IeVersion(); if(IE.TrueVersion < 9 && ('spellcheck' in document.createElement('textarea')) { // must be running in Enterprise mode because spellcheck wasn't introduced until IE10 }

我会告诉你我是怎么过的!

答案 2 :(得分:0)

您可以使用文档模式检查企业模式。因为在EM中,文档模式设置为IE 5到IE 8.此检查以及浏览器检查功能应该有效。

How to get browser "Document Mode"