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

delphi – 带有大字体的TWebrowser加载页面,第1张

概述我在组件TwebBrowser中发现了一个奇怪的行为,当我加载某些页面时,它们会显示较大的字体.与Internet Explorer中使用的不同. 看这些样本图像 在这个链接中,http://docwiki.embarcadero.com/RADStudio/en/Main_Page在TWebBrowser中加载了较大的字体,在IE中加载了较小的字体(另一种样式). 此页面https://stac 我在组件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('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;

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

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

总结

以上是内存溢出为你收集整理的delphi – 带有大字体的TWebrowser加载页面全部内容,希望文章能够帮你解决delphi – 带有大字体的TWebrowser加载页面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1271517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存