加载网页时,如何让 CefSharp 隐藏垂直和水平滚动条?
How can I get CefSharp to hide both the vertical and horizontal scrollbars when a webpage is loaded?
我在 C# WPF 应用程序中使用 CefSharp 57。
我想隐藏任何给定网页上的垂直和水平滚动条。
我一直无法找到直接使用 CefSharp 执行此操作的方法。
它似乎没有 属性 类似于 ScrollBarsEnabled
我习惯使用本机 WinForms 浏览器。
我想我可以在页面呈现后注入一些 CSS/JS 以将正文溢出设置为隐藏,但这没有效果。
private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs args)
{
if (args.Frame.IsMain)
{
// Shows an alert after page is loaded so it definitely works
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync("alert('HELLO!');
// Scrollbars are still visible after this fires
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync(
"(function() { document.body.style.overflow = 'hidden'; });");
}
}
我想看看是否有办法自己绘制滚动条并使它们透明,但我找不到办法做到这一点。
有没有办法使用 CefSharp 隐藏任何给定页面上的垂直和水平滚动条?
我最初展示的代码是正确的,我只是需要简化我提供的脚本:
WebBrowser.FrameLoadEnd += OnBrowserFrameLoadEnd;
private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs args)
{
if (args.Frame.IsMain)
{
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync(
"document.body.style.overflow = 'hidden'");
}
}
滚动条只显示一秒钟就消失了,这符合我的目的。
您可以添加此参数以轻松隐藏滚动条
Brow = new CefSharp.WinForms.ChromiumWebBrowser("https://www.google.com") {
Dock = DockStyle.Top, // Hide scrollbars
};
我在 C# WPF 应用程序中使用 CefSharp 57。
我想隐藏任何给定网页上的垂直和水平滚动条。
我一直无法找到直接使用 CefSharp 执行此操作的方法。
它似乎没有 属性 类似于 ScrollBarsEnabled
我习惯使用本机 WinForms 浏览器。
我想我可以在页面呈现后注入一些 CSS/JS 以将正文溢出设置为隐藏,但这没有效果。
private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs args)
{
if (args.Frame.IsMain)
{
// Shows an alert after page is loaded so it definitely works
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync("alert('HELLO!');
// Scrollbars are still visible after this fires
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync(
"(function() { document.body.style.overflow = 'hidden'; });");
}
}
我想看看是否有办法自己绘制滚动条并使它们透明,但我找不到办法做到这一点。
有没有办法使用 CefSharp 隐藏任何给定页面上的垂直和水平滚动条?
我最初展示的代码是正确的,我只是需要简化我提供的脚本:
WebBrowser.FrameLoadEnd += OnBrowserFrameLoadEnd;
private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs args)
{
if (args.Frame.IsMain)
{
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync(
"document.body.style.overflow = 'hidden'");
}
}
滚动条只显示一秒钟就消失了,这符合我的目的。
您可以添加此参数以轻松隐藏滚动条
Brow = new CefSharp.WinForms.ChromiumWebBrowser("https://www.google.com") {
Dock = DockStyle.Top, // Hide scrollbars
};