设置 IE Webbrowser 内核版本

要指定 IE WebBrowser 控件打开网页时使用的 IE 版本,我们可以通过向以下注册表路径下写入 DWORD 值来实现:

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     你的应用程序名称 = IE 版本数值

delphi 语言示例:

with TRegistry.Create do
begin
  RootKey := HKEY_CURRENT_USER;
  OpenKey('SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION', true);
  // 指定 IE WebBrowser 强制使用 IE9 打开网页,忽略页面上的 !DOCTYPE指令。
  WriteInteger(ExtractFileName(Application.ExeName), 9999);	
  Free;
end;

支持指定的版本数值和其它细节内容请参见 msdn Browser Emulation 一节的说明。

注意事项:

  • 没有指定的情况下,IE WebBrowser 控件默认使用 IE7 标准模式。
  • 指定后需要重启应用程序才能够生效。(或许只需要重新装载 IE WebBrowser 控件或重新装载 OLE,待验证)
  • IE WebBrowser 控件基于本机的 IE 组件,因此如果 IE 组件只到版本 8 的话那么指定 9 是不起效的。
posted @ 2021-07-10 21:15  邓加领  阅读(499)  评论(0)    收藏  举报