加载网页时,如何让 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
            };