10

Существуют ли расширения, пользовательские таблицы стилей и т.д., Которые отключают или отменяют настройку полос прокрутки в браузерах на основе Webkit, таких как Google Chrome? Мне нравятся простые, родные полосы прокрутки, но я не могу найти комбинацию CSS, чтобы заставить их вернуться после того, как они были стилизованы CSS.

3 ответа3

3

Откройте исполняемый файл веб-браузера в текстовом редакторе с двоичной очисткой или в шестнадцатеричном редакторе и замените все вхождения «webkit-scrollbar» на другие нежелательные объекты, например «webkit-scrollb4r». Я только что попробовал это с Chrome, и это решает проблему.

3

К сожалению, CSS не может быть "отключен" или отменен после активации:

::- webkit-scrollbar нельзя просто переопределить, чтобы получить стиль по умолчанию, единственный способ сделать это - удалить все правила ::- webkit-scrollbar из кода. На этом этапе прокручиваемые области должны быть вынуждены перерисовать полосы прокрутки. Для этого нужно либо быстро добавить, либо удалить отображение:нет; то же самое с переполнением:скрытый; на прокручиваемых элементах. Проблема с первым состоит в том, что страница мигает белым при каждой загрузке страницы; второй ресурсоемкий, так как должен проверять, не переполнен ли какой-либо элемент на странице - не идеально.

Ссылка выше взята из скрипта, который полностью удалит пользовательские панели, оставив вас без полосы прокрутки.

-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--);
        }
    }
});

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .