私はC#WPFアプリケーションでCefSharp 57を使用しています。
任意のWebページで縦スクロールバーと横スクロールバーの両方を非表示にしたいとします。ウェブページの読み込み時にCefSharpで縦スクロールバーと横スクロールバーの両方を非表示にするにはどうすればよいですか?
CefSharpでこれを直接行う方法が見つかりませんでした。
ネイティブのWinFormsブラウザでよく慣れていたScrollBarsEnabled
のようなプロパティはないようです。
ボディオーバーフローを非表示に設定するためにページがレンダリングされた後にいくつかの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を使用して任意のページで縦と横のスクロールバーを非表示にする方法はありますか?
簡単にスクロールバーを非表示にするには、このパラメータを追加することができます。 devtoolsを開いてスクリプトを手動で実行し、有効であることを確認してください – amaitland