加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 带有大字体的TWebrowser加载页面

发布时间:2020-12-15 09:45:55 所属栏目:大数据 来源:网络整理
导读:我在组件TwebBrowser中发现了一个奇怪的行为,当我加载某些页面时,它们会显示较大的字体.与Internet Explorer中使用的不同. 看这些样本图像 在这个链接中,http://docwiki.embarcadero.com/RADStudio/en/Main_Page在TWebBrowser中加载了较大的字体,在IE中加载
我在组件TwebBrowser中发现了一个奇怪的行为,当我加载某些页面时,它们会显示较大的字体.与Internet Explorer中使用的不同.

看这些样本图像

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

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

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

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

解决方法

我认为问题是TWebBrowser组件在兼容模式下运行Internet Explorer.实际上,如果您在Internet Explorer 8及更高版本中打开docwiki页面,则字体很小且令人愉快,与它们在TWebBrowser中的外观形成对比.但是,如果单击Internet Explorer窗口中的“兼容性视图”按钮,您将获得与TWebBrowser组件中相同的大文本. (众所周知,IE6使用过大的文本.)

根据this MSDN blog entry和the MSDN docs,要控制TWebBrowser控件的兼容模式,请使用注册表:

procedure TForm3.FormCreate(Sender: TObject);
begin

  with TRegistry.Create do
    try
      RootKey := HKEY_CURRENT_USER;
      if OpenKey('SoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATION',true) then
        WriteInteger(ExtractFileName(Application.ExeName),8888);
    finally
      Free;
    end;

  WebBrowser1.Navigate('http://docwiki.embarcadero.com/RADStudio/en/Main_Page');
end;

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读