Javascript Internet Explorer 11版企业模式检测

Javascript Internet Explorer 11版企业模式检测,javascript,internet-explorer,Javascript,Internet Explorer,最近我的团队陷入了一个奇怪的境地。去年年底,我们从IE8迁移到IE11。我们的应用程序现在设计为在IE11企业模式下工作 如果用户正在使用IE8,我们需要显示javascript警报消息来升级浏览器。向使用IE 8的用户成功显示警报消息。但当警报消息同时显示给在企业模式下使用IE11的用户时,就会出现问题。我知道IE11企业模式基本上模仿IE8的行为,这就是我们的浏览器检测功能失败的原因 所以我想检查是否有人实现了这种功能,即使他们使用的是IE11企业模式,他们也能成功地检测到IE版本 所有的回

最近我的团队陷入了一个奇怪的境地。去年年底,我们从IE8迁移到IE11。我们的应用程序现在设计为在IE11企业模式下工作

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

所以我想检查是否有人实现了这种功能,即使他们使用的是IE11企业模式,他们也能成功地检测到IE版本

所有的回答都是有价值的。感谢您的回复

根据MSDN:

从Internet Explorer 11开始,用户代理字符串已更改 值得注意的是,依赖用户代理字符串的站点应该 更新到现代技术,如特征检测、自适应 布局和其他现代实践

尽管EM中的IE11抛出

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Tablet PC 2.0)
不建议只在userAgent中查找“MSIE”,而应尝试:

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

我只是亲自调查一下。我最近确实偶然发现了——但无法让它可靠地工作——然而,寻找通常不应该提供的IE功能的概念是合理的

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

var IE=IeVersion();
if(即document.createElement('textarea')中的.TrueVersion<9&('spellcheck')){
//必须在企业模式下运行,因为直到IE10才引入拼写检查
}


我会让你知道我进展如何!

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


您是如何检测浏览器的?请发布您当前拥有的代码。这会给您带来更好的结果。函数getIEVersion(){var rv=-1;//返回值假设失败。如果(navigator.appName=='Microsoft Internet Explorer'){var ua=navigator.userAgent;var re=new RegExp(“MSIE([0-9]{1,}[\.0-9]{0,})”);if(re.exec(ua)!=null)rv=parseFloat(RegExp.$1);}返回rv;}if(getIEVersion()>-1&&getIEVersion()