繁体   English   中英

如何更改TChromium组件的默认背景颜色?

[英]How to change default background color for TChromium component?

我用TChromium 我指定AWebPageAsString ,这是一个灰色背景颜色的静态HTML页面。

FBrowser := TChromium.Create(pnlHolder);
FBrowser.Visible := false;
FBrowser.Parent := TWinControl(pnlHolder);
FBrowser.Align := alClient;
FBrowser.OnBeforeBrowse := BrowserBeforeBrowse;
FBrowser.HandleNeeded;
FBrowser.FontOptions.RemoteFontsDisabled := true;
FBrowser.Browser.MainFrame.LoadString(AWebPageAsString, 'navigate:webpage');

当我启动应用程序时,它首先显示白色背景和空白内容,然后我的页面显示灰色背景和实际内容。

有办法避免这种情况吗? 也许有默认的背景颜色?

我知道,这是一个很晚的答案,但这至少是一个有趣的话题。 要更改默认浏览器的背景颜色,您可以使用自定义样式表。 这听起来不错,但它有一个很大的弱点 - 当您导航到一个没有定义样式表的页面时,将应用您的自定义页面。 但是如果你知道你只会以某种风格浏览你的页面,那么它甚至可能是有利的,因为那时你可以保留以默认自定义样式定义的样式定义。

因此,要创建具有黑色背景的浏览器(使用下面描述的样式),您可以使用以下代码:

procedure TForm1.FormCreate(Sender: TObject);
const
  CSSHeader = 'data:text/css;charset=utf-8;base64,';
  CSSBase64 = 'Ym9keSB7YmFja2dyb3VuZC1jb2xvcjpibGFjazt9';
begin
  Chromium1.UserStyleSheetLocation := CSSHeader + CSSBase64;
  Chromium1.Options.UserStyleSheetEnabled := True;
  Chromium1.ReCreateBrowser('about:blank');
end;

上面代码中使用的CSSBase64常量是以下encoded to Base64样式表:

body {background-color:black;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM