CefSharp - 更改加载屏幕背景颜色

4
4个回答

4

哇,我超级晚了。但这就是我做到的方式,

var sett = new CefSharp.BrowserSettings();
sett.BackgroundColor = ColorToUInt(System.Drawing.Color.FromArgb(255, 27, 40, 56));
chromium.BrowserSettings = sett;

颜色转 Uint 函数,

public static uint ColorToUInt(Color color)
{
    return (uint)((color.A << 24) | (color.R << 16) | (color.G << 8) | (color.B << 0));
}

4
在版本号为 67.0.0 的情况下,您将能够使用 browserSettings.BackgroundColor = Cef.ColorSetARGB(0, 255, 255, 255); 来设定浏览器的背景颜色。 - amaitland
2
显然,Visual Studio无法识别chromium.BrowserSettings的智能感知,所以我在这里查看了一个小时的文档,然后简单地强制编写代码(手写),然后Visual Studio仍然识别了该属性。 - Mark Entingh

0
我在CefSharp中发现了这个属性:IBrowserSettings.BackgroundColor (docs)。

我该如何实际应用这个属性? - user8549339

-1

Dim script="document.body.style.backgroundcolor='black';"

Browser.executescriptasync(script)

//如果你使用VB


-1
我遇到了一个问题,CEF在加载页面之前会显示一个空白页,直到我设置的页面实际加载完成。这似乎发生在调用加载函数时,页面加载速度较慢时。
string url = "https://google.com";    
chromiumWebBrowser.load(url);

我发现浏览器在加载下一页时会保留当前页面,所以我通过这种方式解决了“白屏问题”:
string url = "https://google.com";
int r = 0, g = 0, b = 0;
string colorString = $"#{r.ToString("X2")}{g.ToString("X2")}{b.ToString("X2")}";
string htmlStr = "<!DOCTYPE html><html><body style=\"background-color:" + colorString + ";\" > <script> location.href='"+url+"'; </script> </body></html>";
chromiumWebBrowser.LoadHtml(htmlStr);

希望这对某人有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接