leo*_*ora 6 asp.net-mvc upgrade internet-explorer-7 conditional-statements
对于IE7用户,我想提出一些具体的"请立即升级"横幅.我以为我有这个,但我发现我的横幅出现在拥有IE8但默认启用了兼容模式的人身上.
无论如何要区分这两种情况,以便我可以改变我的信息:
请从IE7更新 到您使用的是IE8,但是您使用的是兼容模式,请关闭它
这是我现在在我的视图中使用的代码:
You are using <b><% = Request.Browser.Browser + ", Version: " + Request.Browser.Version%>
Run Code Online (Sandbox Code Playgroud)
但如果我在IE8中使用兼容性视图进行测试,则在客户端使用上面的代码或此代码:
<!--[if lte IE 7]>
Run Code Online (Sandbox Code Playgroud)
它返回true并显示为IE7.我如何区分这两者?
根据user-agents.org和其他答案链接的一些讨论,您可以通过检查您收到的用户代理字符串来区分这三种情况.
对于MSIE 7.0:检查MSIE 7.0和缺少Trident
例如: Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 5.1; GTB5; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; http://bsalsa.com) ; .NET CLR 2.0.50727)
对于MSIE 8.0兼容模式:检查MSIE 7.0和存在的Trident/4.0
例如: Mozilla/4.0 (compatible;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 (compatible;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)
要执行这些检查,请参阅以下教程,将所有关于iPhone和移动设备的废话替换为您要检查的浏览器.:)
祝你的应用好运.
| 归档时间: |
|
| 查看次数: |
1795 次 |
| 最近记录: |