Internet Explorer 11 - 如何使用代码设置用户代理字符串(非文档模式)
Internet explorer 11 - How to set user agent string using code (Not the document mode)
我正在尝试修复几个最初为旧版 Internet Explorer 设计的网页,以便在 Internet Explorer 11 上正常呈现。使用以下元标记,页面看起来几乎没问题,但页面的一部分仍然损坏。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
检查调试器工具时,我发现 文档模式 已正确设置为 9。但是用户代理字符串显示为默认。当我使用调试器工具将 用户代理字符串 更改为 Internet Explorer 9 时,页面呈现为我想要的。
我做了很多研究来寻找如何使用代码或 doctype 指令设置用户代理字符串,但到目前为止没有成功。至此,我几乎认为在IE11中使用代码设置用户代理字符串是不可能的。
总而言之,我要做的是使用代码将文档类型设置为“9”并将用户代理字符串设置为 "internet explorer 9"。
IE11 不会公开 public API 以使用 JavaScript 更改 IE 用户代理字符串。 (您可以使用 F12 工具临时更改用户代理字符串。)
有一组registry settings that used to affect the navigator.userAgent属性,但是,在HTTP协商过程中不再使用这些设置。 (此外,可能值得指出的是,本文中提到的版本向量需要条件注释,从 IE10 开始不再支持。)
用户代理字符串已成为越来越难以依赖的功能。需要特定用户代理字符串的解决方案应更新为依赖更现代的方法。
您应该查看遗留代码并查找嗅探用户代理字符串的部分。有可能你只需要做一个小手术就可以修复它。
希望这对您有所帮助...
-- 兰斯
我正在尝试修复几个最初为旧版 Internet Explorer 设计的网页,以便在 Internet Explorer 11 上正常呈现。使用以下元标记,页面看起来几乎没问题,但页面的一部分仍然损坏。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
检查调试器工具时,我发现 文档模式 已正确设置为 9。但是用户代理字符串显示为默认。当我使用调试器工具将 用户代理字符串 更改为 Internet Explorer 9 时,页面呈现为我想要的。
我做了很多研究来寻找如何使用代码或 doctype 指令设置用户代理字符串,但到目前为止没有成功。至此,我几乎认为在IE11中使用代码设置用户代理字符串是不可能的。
总而言之,我要做的是使用代码将文档类型设置为“9”并将用户代理字符串设置为 "internet explorer 9"。
IE11 不会公开 public API 以使用 JavaScript 更改 IE 用户代理字符串。 (您可以使用 F12 工具临时更改用户代理字符串。)
有一组registry settings that used to affect the navigator.userAgent属性,但是,在HTTP协商过程中不再使用这些设置。 (此外,可能值得指出的是,本文中提到的版本向量需要条件注释,从 IE10 开始不再支持。)
用户代理字符串已成为越来越难以依赖的功能。需要特定用户代理字符串的解决方案应更新为依赖更现代的方法。
您应该查看遗留代码并查找嗅探用户代理字符串的部分。有可能你只需要做一个小手术就可以修复它。
希望这对您有所帮助...
-- 兰斯