如何使Delphi TWebbrowser组件在IE9模式下运行?

由于TWebbrowser在IE7兼容模式下运行,因此我遇到了TWebbrowser的Javascript错误。

有没有办法来防止这个,只是让它运行在IE9模式?

  1. 使用logging的registry项来select浏览器仿真function 。
  2. 根据您select的浏览器仿真设置,您可能需要确保文档包含合适的DOCTYPE。 再次,这是在文档中描述。

因此,例如,如果您希望进行最简单的更改,则可以添加以下registry设置:

 HKEY_LOCAL_MACHINE(或HKEY_CURRENT_USER)
   软件
      微软
          IE浏览器
            主要
                FeatureControl
                   FEATURE_BROWSER_EMULATION
                      YourExeNameGoesHere.exe =(DWORD)00009999

价值9999的文件说:

9999 Windows Internet Explorer 9.网页以IE9标准模式显示,无论!DOCTYPE指令如何。

如果您使用9000那么您还需要修改文档的DOCTYPE:

9000 Internet Explorer 9.包含基于标准的!DOCTYPE指令的网页以IE9模式显示。 Internet Explorer 9的默认值。

链接的文档还包括指定其他IE版本所需的信息。

包含在html中,“http-equiv =”X-UA-Compatible“content =”IE = edge“

 <!DOCTYPE html> <html> <head> <meta charset="utf-8" http-equiv="X-UA-Compatible" content="IE=edge" /> </head> <body> your code .... </body> </html>