C'è un modo per disabilitare le barre di scorrimento del webkit personalizzate?


10

Esiste un'estensione, un foglio di stile utente personalizzato, ecc. Che disabiliterà o ripristinerà la personalizzazione delle barre di scorrimento nei browser basati su Webkit come Google Chrome? Mi piacciono le semplici barre di scorrimento native, ma non riesco a trovare una combinazione di CSS per farle tornare dopo che sono state disegnate da CSS.


Le occorrenze della barra di scorrimento webkit sono disponibili in chrome_child.dll nelle versioni successive.

replicare la barra di scorrimento nativa in CSS, quindi iniettare quel foglio di stile usando un'estensione.
Sarim,

Risposte:


4

Sfortunatamente, una volta attivato il CSS non può essere "disabilitato" o ripristinato:

:: - webkit-scrollbar non può essere semplicemente ignorato per ottenere lo stile predefinito, l'unico modo per farlo è rimuovere tutte le regole :: - webkit-scrollbar dal codice. A quel punto, le aree scorrevoli devono essere costrette a ridisegnare le barre di scorrimento. Per fare ciò, aggiungi e rimuovi rapidamente display: none; da o fare la stessa cosa con overflow: nascosto; su elementi scorrevoli. Il problema con il primo è che la pagina lampeggia in bianco ad ogni caricamento della pagina; il secondo è ad alta intensità di risorse in quanto dovrebbe verificare se un elemento trabocca dalla pagina, non l'ideale.

Il link sopra è da uno script che rimuoverà completamente le barre personalizzate, lasciandoti senza barra di scorrimento.


Se sono ancora aree scorrevoli, non renderebbe una barra di scorrimento normale? Gli iframe incorporati ottengono barre di scorrimento, quindi ho pensato che lo stesso sarebbe vero per altre cose che traboccano. Voglio dire, mi aspetto qualcosa di simile a backbonejs.org con il suo div #sidebar.
Ehtesh Choudhury,

2

Aprire il file eseguibile del browser Web in un editor di testo o editor esadecimale e pulire tutte le occorrenze di "webkit-scrollbar" con qualche altra spazzatura come "webkit-scrollb4r". Ho appena provato questo con Chrome e risolve il problema.


2
La modifica di un eseguibile compilato è davvero sicura? Non sarebbe meglio scaricare il sorgente Chromium, modificarlo e compilarlo?
Oriol,

1
Ciò invaliderebbe eventuali firme digitali della build chrome.exe, in seguito - quindi potresti ricevere avvisi spaventosi ogni volta che provi ad aprire Chrome.
Dai

-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--);
        }
    }
});
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.