カスタムwebkitスクロールバーを無効にする方法はありますか?


10

Google ChromeのようなWebkitベースのブラウザーでスクロールバーのカスタマイズを無効化または元に戻す拡張機能、カスタムユーザースタイルシートなどはありますか?プレーンなネイティブスクロールバーは好きですが、CSSでスタイルを設定すると、CSSを組み合わせて元に戻すことができません。


webkit-scrollbarオカレンスは、それ以降のバージョンのchrome_child.dllにあります。

CSSでネイティブスクロールバーを複製し、拡張機能を使用してそのスタイルシートを挿入します。
サリム2014年

回答:


4

残念ながら、CSSは「無効」にしたり、アクティブにした後で元に戻したりすることはできません。

::-webkit-scrollbarをオーバーライドしてデフォルトのスタイルを取得することはできません。これを行う唯一の方法は、コードからすべての::-webkit-scrollbarルールを削除することです。その時点で、スクロール可能な領域は、スクロールバーを再描画する必要があります。これを行うには、display:noneをすばやく追加して削除します。から、または同じことをoverflow:hiddenで行います。スクロール可能な要素。最初の問題は、ページが読み込まれるたびにページが白く点滅することです。2つ目は、ページ上の要素がオーバーフローしているかどうかを確認する必要があるため、リソースを大量に消費します。理想的ではありません。

上記のリンクは、カスタムバーを完全に削除するスクリプトからのもので、スクロールバーはありません。


それらがまだスクロール可能な領域であれば、通常のスクロールバーをレンダリングしませんか?埋め込みiframeはスクロールバーを取得するので、オーバーフローする他のものにも同じことが当てはまると思いました。つまり、#sidebar divを持つbackbonejs.orgのようなものを期待します。
Ehtesh Choudhury 2013

2

バイナリクリーンテキストエディターまたは16進エディターでWebブラウザーの実行可能ファイルを開き、「webkit-scrollbar」のすべての出現箇所を「webkit-scrollb4r」などの他のジャンクに置き換えます。Chromeで試してみたところ、問題は解決しました。


2
コンパイルされた実行可能ファイルの変更は本当に安全ですか?Chromiumソースをダウンロードして変更し、コンパイルする方がいいのではないでしょうか。
Oriol

1
これにより、chrome.exeビルドのデジタル署名fwiwが無効になります。そのため、Chromeを開こうとするたびに恐ろしい警告が表示される可能性があります。

-2
// ==UserScript==
// @name         My Fancy Scrollbar Userscript
// @namespace    http://your.homepage/
// @version      0.1
// @description  enter something useful
// @author       You
// @match        http://*/*
// @grant        none
// ==/UserScript==

[].forEach.call(document.styleSheets, function(sheet) {
    for (var i = 0; i < sheet.rules.length; ++i) {
        var rule = sheet.rules[i];
        if (/::-webkit-scrollbar/.test(rule.selectorText)) {
            sheet.deleteRule(i--);
        }
    }
});
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.