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

前端之家收集整理的这篇文章主要介绍了在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和移动设备的废话.

猜你在找的asp.Net相关文章