【问题标题】:IE : Check document mode and actual browser version without user agentIE:在没有用户代理的情况下检查文档模式和实际浏览器版本
【发布时间】:2015-08-19 05:51:46
【问题描述】:

我的网站仅支持 Internet Explorer 9 及更高版本的问题。最初我检查了用户代理字符串以获取浏览器和版本并重定向,但发现这是一个不可用的解决方案。即使使用 ie 11,我们的网络也会自动将用户代理字符串更改为 ie 7 兼容模式。

我发现使用 java 脚本我可以检查文档模式,即使启用了兼容模式,它也会成功返回请求的正确模式。

除了基于文档模式进行重定向之外,即使打开兼容模式,我也可以获得实际的浏览器版本,因为如果浏览器是 9 或更高版本但处于兼容模式,则可能不需要重定向。

这个想法是检查浏览器是否支持边缘并将响应更改为边缘,这仍然应该呈现,但如果不可能,则重定向?

我想避免在启用兼容模式的情况下将用户重定向到 ie 11,因为他们可能不知道如何更改此设置。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: internet-explorer redirect version compatibility user-agent


    【解决方案1】:

    如果由于某种原因我不能使用用户代理,我过去的处理方式是通过特征检测来实现。

    https://msdn.microsoft.com/en-us/library/hh273397(v=vs.85).aspx

    确定为什么需要了解浏览器版本非常重要。查找不支持您尝试执行的任何操作的浏览器,然后重定向它们。

    【讨论】:

    • 感谢您的回复。我刚刚测试了一些js,它似乎正在工作......
    • if(XDomainRequest){ alert("文档模式:" + document.documentMode +" || IE版本:8");等...
    • XDomainRequest 可能不是最明智的测试方法,尤其是因为 IE11 已经取消了对许多旧功能的支持(请参阅msdn.microsoft.com/en-us/library/…)。让我感到震惊的是,您最好测试 documentMode 本身或(更好地)测试该网站实际被相关网页使用的 IE9+ 功能。
    猜你喜欢
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-05-21
    • 2012-08-21
    • 1970-01-01
    • 2013-09-09
    相关资源
    最近更新 更多