【问题标题】:Make IE 11 user agent string IE 9制作 IE 11 用户代理字符串 IE 9
【发布时间】:2014-12-11 12:33:22
【问题描述】:

我有一个使用 IE 9 用户代理字符串模式的 IE 11 以外的任何东西都拒绝使用网格组件的旧 IE 适配站点(即,如果我没有理解,浏览器会假装是 IE 9 而没有模拟 9 行为正确)。由于预算限制,我无法更改此黑盒组件,并且我不希望用户在他们的开发人员工具中明确打开他们的代理字符串模式:网站是否可以让 IE 11 选择用户不使用开发者工具的 IE9 代理字符串?

【问题讨论】:

  • 使用 X-UA-Compatible 标头在较新版本的 IE 中触发向后兼容模式,方法是在 <head> 部分添加 <meta http-equiv="X-UA-Compatible" content="IE=9" /> 或将其作为 HTTP 标头发送。
  • 我需要 UA 字符串为 IE-9,而内容实际上可以在 IE 11 中渲染(我认为同时具有仿真和 IE9 UA 字符串也可以......)。建议的方法只会将页面呈现为 IE9 模式,但仍会保留相同的 UA 字符串。
  • 我已将元标题添加到页面,然后在 IE11 alert(navigator.userAgent) 中显示“Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; ..."

标签: javascript asp.net internet-explorer internet-explorer-9 internet-explorer-11


【解决方案1】:

我偶然发现了我页面上的一个属性,它有效地更改了浏览器使用的用户代理字符串。代码类似于:

Page.Master.Page.ClientTarget = "ie9";

在 web.config 文件中我添加了一个别名:

<clientTarget>
 <add alias="ie9" userAgent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
</clientTarget>

通过将IE 11中的UA字符串设置为IE 9模式,然后从请求头中复制来借用字符串。

想法来源于:http://msdn.microsoft.com/en-us/library/system.web.ui.page.clienttarget%28v=vs.110%29.aspx

【讨论】:

    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多