我们在IE11中使用我们的网站呈现DataWindow表时遇到问题。 我试图通过IE11 Developer工具测试这些页面。设置文档模式没有帮助,但将UserAgentString设置为小于IE11的任何内容都会生成正确的网页。 修改DW行为是不可能的,似乎DW .dll连接到此UserAgentString参数。
有什么办法可以强制IE让UserAgentString的内容少于IE11 ??
当我阅读网页时,没有直接的方法来设置UserAgentString参数,但是在AppData文件夹中设置ie.browser文件可能有助于此。您是否知道如何设置此文件以获取所需的行为?
答案 0 :(得分:0)
使用User Agent注册表项将旧用户代理字符串添加到新用户代理字符串:
早期版本的Internet Explorer包含在HTTP协商过程中使用用户代理字符串的Pre-Platform和Post-Platform密钥部分定义的功能令牌。随着时间的推移,这会导致过长的用户代理字符串,从而导致某些Web服务器出现问题。当用户代理字符串超过256个字符时,通常会出现问题。从Internet Explorer 9开始,用户代理字符串在HTTP协商期间不再包含功能令牌。功能标记包含在导航器对象的userAgent属性返回的值中。应相应地修改依赖于早期行为的应用程序。 注意不应使用用户代理字符串来指示是否存在可选软件或功能。可以使用条件注释检测的自定义版本向量提供了更合适的机制。
您还可以通过向以下注册表项添加值来覆盖用户代理字符串的某些标记。
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Microsoft Windows CurrentVersion Internet Settings 5.0 User Agent (default) = "Mozilla/4.0" Compatible = "compatible" Platform = "Windows NT 5.1" Version = "MSIE 6.0" Pre Platform Token = Value Post Platform Token = Value
用户代理密钥的默认值将替换用户代理字符串中报告的应用程序名称和应用程序版本标记。请注意,前七个字符用于应用程序名称,其余字符指定应用程序版本标记。
Compatible,Platform和Version值将替换用户代理字符串中的相应标记。
可以使用注册表编辑器在Pre-Platform键或Post-Platform键下创建新的字符串值,从而将其他令牌添加到用户代理字符串中。值名称应该是完整的标记;值数据被忽略。添加到Pre-Platform密钥的标记出现在最终用户代理字符串中的平台标记之前。添加到Post-Platform密钥的标记出现在最终用户代理字符串中的平台标记之后。 Pre-Platform键或Post-Platform键中的多个令牌以不可预测的顺序显示。
请注意 如果在更改这些键时浏览器处于打开状态,则更改将在所有浏览器窗口关闭后生效;这包括托管WebBrowser控件的应用程序。请注意,托管WebBrowser控件的应用程序可以覆盖Internet Explorer用户代理字符串而无需对其进行修改。
<强>参考强>