微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在asp.net-mvc中,有没有办法区分处于兼容模式的IE7用户和IE8用户?

对于IE7用户,我想提出一些具体的“请立即升级”横幅.我以为我有这个,但我发现我的横幅出现在拥有IE8但认启用了兼容模式的人身上.

无论如何要区分这两种情况,以便我可以改变我的信息:

请从IE7更新到您使用的是IE8,但是您使用的是兼容模式,请关闭

这是我现在在我的视图中使用的代码

You are using <b><% = Request.browser.browser + ",Version: " + Request.browser.Version%>

但如果我在IE8中使用兼容性视图进行测试,则在客户端使用上面的代码或此代码

<!--[if lte IE 7]>

它返回true并显示为IE7.我如何区分这两者?

解决方法

According to user-agents.orgsome of the discussion linked by other answers,您可以通过查看收到的 the user agent string来区分这三种情况.

>对于MSIE 7.0:检查MSIE 7.0和缺少三叉戟

例如:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1; GTB5;用户代理:Mozilla / 4.0(兼容; MSIE 6.0; Windows NT 5.1; SV1; http://bsalsa.com); .NET CLR 2.0 0.50727)
>对于兼容模式下的MSIE 8.0:检查MSIE 7.0和Trident / 4.0的存在

例如:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)
>对于标准模式下的MSIE 8.0:检查MSIE 8.0

例如:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)

要执行这些检查,请参阅the following tutorial,用您要检查的浏览器替换所有关于iPhone和移动设备的废话.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐