我在C#WPF应用程序中使用CefSharp 57.
我想在任何给定的网页上隐藏垂直和水平滚动条.
我一直无法找到直接用CefSharp做到这一点的方法.
它似乎没有类似于ScrollBarsEnabled我习惯使用本机WinForms浏览器的属性.
我想我可能会在页面渲染后注入一些CSS/JS来将body溢出设置为隐藏但这没有任何效果.
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'; });");
}
}
Run Code Online (Sandbox Code Playgroud)
我看看是否有办法自己绘制滚动条并使它们透明,但我无法找到方法来做到这一点.
有没有办法使用CefSharp隐藏任何给定页面上的垂直和水平滚动条?
我最初展示的代码是正确的,我只需要简化我提供的脚本:
WebBrowser.FrameLoadEnd += OnBrowserFrameLoadEnd;
private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs args)
{
if (args.Frame.IsMain)
{
args
.Browser
.MainFrame
.ExecuteJavaScriptAsync(
"document.body.style.overflow = 'hidden'");
}
}
Run Code Online (Sandbox Code Playgroud)
滚动条在消失之前只有一秒钟可见,这符合我的目的.
| 归档时间: |
|
| 查看次数: |
3956 次 |
| 最近记录: |