TWebrowser加载大字体页面

Sal*_*dor 5 browser delphi

我在组件TwebBrowser中发现了一个奇怪的行为,当我加载某些页面时,它们会显示较大的字体.与Internet Explorer中使用的不同.

看这些样本图像

在这个链接中http://docwiki.embarcadero.com/RADStudio/en/Main_Page在TWebBrowser中加载了较大的字体,在IE中加载了小字体(另一种样式).

替代文字

此页面https://stackoverflow.com/ 在TWebBrowser组件和IE中加载了相同的样式.

替代文字

我在不同的机器上尝试过,同样的事情发生了.

我该如何解决这个问题呢?这是一个CSS的问题?

And*_*and 1

我认为问题在于该TWebBrowser组件正在兼容模式下运行 Internet Explorer。事实上,如果您在 Internet Explorer 8 及更高版本中打开 docwiki 页面,您会发现字体又小又漂亮,这与它们在TWebBrowser. 但是,如果单击 Internet Explorer 窗口中的“兼容性视图”按钮,您将获得与在组件中获得的相同的大文本TWebBrowser。(众所周知,IE6 使用过大的文本。)

根据此MSDN博客条目MSDN文档,要控制控件的兼容模式TWebBrowser,请使用注册表:

procedure TForm3.FormCreate(Sender: TObject);
begin

  with TRegistry.Create do
    try
      RootKey := HKEY_CURRENT_USER;
      if OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', true) then
        WriteInteger(ExtractFileName(Application.ExeName), 8888);
    finally
      Free;
    end;

  WebBrowser1.Navigate('http://docwiki.embarcadero.com/RADStudio/en/Main_Page');
end;
Run Code Online (Sandbox Code Playgroud)

“IE8 标准模式”、“IE7 标准模式”和“IE8 标准模式(强制)”的值分别为 8000、7000 和 8888。因此,上述代码将强制使用 IE8 标准模式。

然而令人惊讶的是,将模式设置为标准只会使字体变得更大