Existe-t-il un moyen de désactiver les barres de défilement Webkit personnalisées?

10

Existe-t-il une extension, une feuille de style utilisateur personnalisée, etc. qui désactivera ou inversera la personnalisation des barres de défilement dans les navigateurs Webkit comme Google Chrome? J'aime les barres de défilement natives, mais je n'arrive pas à trouver une combinaison de CSS pour les faire revenir une fois qu'elles ont été stylisées par CSS.

TedMilker
la source
Les occurrences de webkit-scrollbar peuvent être trouvées dans chrome_child.dll dans les versions ultérieures.
répliquez la barre de défilement native dans css, puis injectez cette feuille de style à l'aide d'une extension.
Sarim

Réponses:

4

Malheureusement, le CSS ne peut pas être "désactivé" ou rétabli une fois activé:

:: - webkit-scrollbar ne peut pas être simplement remplacé pour obtenir le style par défaut, la seule façon de le faire est de supprimer toutes les règles :: - webkit-scrollbar du code. À ce stade, les zones de défilement doivent être forcées de redessiner les barres de défilement. Pour ce faire, vous ajoutez ou supprimez rapidement l'affichage: aucun; à partir de ou faire la même chose avec débordement: caché; sur les éléments déroulants. Le problème avec le premier est que la page clignote en blanc à chaque chargement de page; le second est gourmand en ressources car il faudrait vérifier si un élément de la page déborde - pas idéal.

Le lien ci-dessus provient d'un script qui supprimera complètement les barres personnalisées, vous laissant sans barre de défilement.

JonathanMumm
la source
Si ce sont toujours des zones défilantes, cela ne rendrait-il pas une barre de défilement normale? Les iframes intégrés obtiennent des barres de défilement, donc j'ai pensé que la même chose serait vraie pour d'autres choses qui débordent. Je veux dire, je m'attendrais à quelque chose comme backbonejs.org avec sa div #sidebar.
Ehtesh Choudhury
2

Ouvrez l'exécutable de votre navigateur Web dans un éditeur de texte au nettoyage binaire ou un éditeur hexadécimal et remplacez toutes les occurrences de "webkit-scrollbar" par d'autres fichiers indésirables comme "webkit-scrollb4r". Je viens d'essayer cela avec Chrome et cela résout le problème.

R .. GitHub ARRÊTEZ D'AIDER LA GLACE
la source
2
La modification d'un exécutable compilé est-elle vraiment sûre? Ne serait-il pas préférable de télécharger la source Chromium, de la modifier et de la compiler?
Oriol
1
Cela invaliderait toutes les signatures numériques de la version chrome.exe, fwiw - vous pourriez donc recevoir des avertissements effrayants chaque fois que vous essayez d'ouvrir 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--);
        }
    }
});
bumfo
la source