小编raf*_*ces的帖子

Intranet站点的IE9兼容性模式具有错误的User-Agent字符串

我正在一个大项目中工作,我们必须确定用户是否在IE中使用兼容性视图.
我正在使用此代码来执行此操作.

var agentStr = navigator.userAgent;
var mode = null;
if (agentStr.indexOf("Trident/5.0") > -1) {
    if (agentStr.indexOf("MSIE 7.0") > -1)
        mode = "IE9CV";
    else
        mode = "IE9";
} else if (agentStr.indexOf("Trident/4.0") > -1) {
    if (agentStr.indexOf("MSIE 7.0") > -1)
        mode = "IE8CV";
    else
        mode = "IE8";
} else
    mode = "IE7";
Run Code Online (Sandbox Code Playgroud)

它工作得很好,问题是:
1 - 在INTRANET环境中,在客户端的浏览器中选中"在兼容性视图中显示Intranet站点"选项,我无能为力
兼容性视图

2 - 脚本检测兼容性视图没有问题,但我不知道为什么,如果页面在IE 9 兼容性视图上加载,我收到的用户代理就是下面这个

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery compatibility internet-explorer view

5
推荐指数
1
解决办法
1460
查看次数