Internet Explorer 11 - 如何使用代码设置用户代理字符串(不是文档模式)

时间:2015-07-16 13:33:59

标签: internet-explorer-11

我正在尝试修复几个最初为旧版本的Internet Explorer设计的网页,以便在Internet Explorer 11上呈现正常。使用以下元标记,页面看起来几乎没问题,但页面的一部分仍然被破坏。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">

在检入调试工具时,我发现文档模式已正确设置为 9 。但用户代理字符串显示为默认。当我使用调试工具将用户代理字符串更改为 Internet Explorer 9 时,页面会根据需要进行渲染。

我做了很多研究,以找到如何使用代码或doctype指令设置用户代理字符串,到目前为止没有运气。此时,我几乎认为不可能使用IE11中的代码设置用户代理字符串。

总结一下,我要做的是将文档类型设置为&#34; 9&#34;和用户代理字符串到&#34; Internet Explorer 9&#34;使用代码。

1 个答案:

答案 0 :(得分:1)

IE11不公开使用JavaScript更改IE用户代理字符串的公共API。 (您可以使用F12工具临时更改用户代理字符串。)

有一组registry settings用于影响navigator.userAgent属性,但是,在HTTP协商过程中不再使用这些设置。 (另外,可能值得指出的是,本文中提到的版本向量需要从IE10开始不受支持的条件注释。)

用户代理字符串已成为一种越来越难以依赖的功能。需要更新需要特定用户代理字符串的解决方案,以依赖更现代的方法。

您应该查看旧代码并查找嗅探用户代理字符串的部分。您可以通过轻微的手术来解决它。

希望这会有所帮助......

- Lance