强制ie11“用户代理字符串”到IE10或更低版本



我们的网站在IE11中呈现DataWindow表有问题。我试着通过IE11开发工具测试这些页面。设置文档模式没有帮助,但是将UserAgentString设置为低于IE11的任何内容都会产生正确的网页。修改DW行为是不可能的,似乎DW .dll连接到这个UserAgentString参数。

是否有办法强迫IE有UserAgentString小于IE11??

当我阅读web没有直接的方法来设置UserAgentString参数,但也许设置ie。AppData文件夹中的浏览器文件可以提供帮助。你知道如何设置这个文件来获得所需的行为吗?

使用用户代理注册表项将旧用户代理字符串添加到新字符串:

早期版本的Internet Explorer包括在HTTP协商过程中使用用户代理字符串的Pre-Platform和Post-Platform密钥部分定义的特征令牌。随着时间的推移,这会导致过长的用户代理字符串,这反过来又会给某些web服务器带来问题。当用户代理字符串超过256个字符时,通常会出现问题。从Internet Explorer 9开始,在HTTP协商期间,用户代理字符串不再包含特性令牌。特性令牌包含在导航器对象的userAgent属性返回的值中。依赖于早期行为的应用程序应该进行相应的修改。注意:用户代理字符串不应该用来表示可选软件或特性的存在。可使用条件注释检测的自定义版本向量提供了更合适的机制。

您还可以通过向以下注册表项添加值来覆盖用户代理字符串的某些令牌。

<>之前HKEY_LOCAL_MACHINE(或HKEY_CURRENT_USER)软件微软窗户CurrentVersion网络设置5.0用户代理(默认)= "Mozilla/4.0"Compatible = "兼容的"平台= "Windows NT 5.1"版本= "MSIE 6.0"之前的平台Token = Value发布平台Token = Value之前

用户代理密钥的默认值替换User - Agent字符串中报告的应用程序名称和应用程序版本令牌。请注意,前七个字符用于应用程序名称,其余字符指定应用程序版本令牌。

Compatible、Platform和Version值替换user-agent字符串中相应的令牌。

通过使用注册表编辑器在平台前键或平台后键下创建新的字符串值,可以将其他令牌添加到用户代理字符串中。值名应该是完整的令牌;忽略值数据。添加到Pre-Platform密钥的令牌出现在最终用户代理字符串中的平台令牌之前。添加到Post-Platform密钥的令牌出现在最终用户代理字符串中的平台令牌之后。平台前密钥或平台后密钥中的多个令牌以不可预测的顺序显示。

注意如果在更改这些键时浏览器是打开的,则在关闭所有浏览器窗口之前更改不会生效;这包括托管WebBrowser控件的应用程序。请注意,托管WebBrowser控件的应用程序可以在不修改的情况下覆盖Internet Explorer用户代理字符串。

引用

  • 理解user-agent字符串:user-agent注册表项

  • 什么是我的User-agent中的MATM

最新更新