【发布时间】:2013-12-05 22:06:47
【问题描述】:
我的网站在 IE11 中损坏。
我们都知道HTML标签允许开发者强制IE兼容模式;例如
<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9" />
效果很好,解决了 IE10 的可视化问题。
但实际上在 IE11 上,即使 Compatibility mode 设置为 IE9,User agent string 设置为 default 并且 javascript 不起作用。
手动将User agent string 更改为IE10 解决了我的问题。
我要解决导致网站错误的真正问题,但实际上 我需要一种快速、编程的方式将“用户代理字符串”强制到 IE10,因为我不能联系每一位用户。
有人可以帮忙吗?
【问题讨论】:
-
default与Document mode相关。如果你在content="IE=8"时登录navigator.userAgent,你会得到Mozilla/4.0 (compatible; MSIE 8.0; ...)。 -
@Teemu 等等?手动更改“用户代理字符串”可以解决问题。您是否建议一种以编程方式更改它的方法?
-
如果我在 IE11 中有一个
<meta http-equiv="X-UA-Compatible" content="IE=8" />,而无需触摸“仿真”面板,则记录navigator.userAgent将打印Mozilla/4.0 (compatible; MSIE 8.0; ...),这不是 IE11 的默认。如果这不是你需要的,我误解了你的问题...... -
UA需要修改哪些代码?您可以编辑该代码而不是尝试更改 UA 字符串吗?
-
从 userAgent 字符串中删除 MSIE xx.0 对于 IE 11 来说是一个糟糕的举动。如果 MSIE 存在,它将破坏大量依赖于假设浏览器是 IE 的 JavaScript。也可能会破坏 MS 在他们提供的 .NET 浏览器文件中的匹配。
标签: javascript internet-explorer cross-browser compatibility internet-explorer-11