Змініть білий фон на веб-сторінках на інший колір


47

Зараз я використовую темну тему в Firefox. Це виглядає дійсно приємно, але багато веб-сторінок використовують звичайний білий фон. Отриманий контраст трохи неприємний і іноді болить око при переході з темної вкладки на білу.

Чи є спосіб змусити Firefox скрізь замінити білі фони якимись іншими кольорами (наприклад, світло-сірим)? Це може бути стильний скрипт, хакер userChrome.css або все, що працює (бажано, наскільки це можливо легше).

Щоб зрозуміти себе: після досягнення своєї мети колір тла кожного разу, коли я відвідую сайт Superuser, повинен бути світло-сірим замість білого, і те ж саме має відбутися з будь-яким іншим сайтом з білим фоном (google-сайти, технологічний хрускіт тощо) ).

Чи є спосіб це зробити?


5
Я б рекомендував проти цього, більшість веб-сайтів використовують багато різних класів та CSS для стилізації тексту. Що відбувається, коли у вас чорний фон І чорний текст, відповідно до стилю на веб-сторінці? Яку ОС ви використовуєте з інтересу?
danixd

В основному Windows 7, хоча краще рішення від незалежних від платформи, тому що я також використовую ubuntnu на роботі. Я знаю, що це може спричинити деяку незграбну поведінку на деяких сайтах, а фон повинен бути світло-сірим, а не чорним, щоб текст читався. Але ця справа турбує мене до того, що я готовий експериментувати.
Малабарба

Різні аддони можуть зробити це так - наприклад, addons.mozilla.org/En-us/firefox/addon/…
Вільф

Відповіді:


21

Я щойно написав швидкий скрипт Greasemonkey, який перевіряє обчислений стиль bodyелемента та змінює його на чорний (ви, мабуть, хочете вибрати інший колір):

(function () {
    if (window.getComputedStyle(document.body, null).getPropertyValue("background-color") == "rgb(255, 255, 255)") {
        console.log("Setting new background color...");
        document.body.setAttribute("style", "background-color: #000000;");
    }
})();

Проблема таких типів речей полягає в тому, що якщо веб-сайти не будуть сконструйовані надзвичайно добре, на чорному будуть плями білого кольору.


4
Пробачте за моє невігластво, але куди я вставити цей сценарій? (спасибі за неприємності)
Malabarba

@Bruce: Встановіть Greasemonkey, створіть новий сценарій користувача для * та вставте його в текстовий редактор. Збережіть і оновіть сторінку.
Привіт71

Добре, цей метод працює найкраще до цих пір. Це не змінює фон текстових полів та ще декількох речей, але крім цього, це добре. Я думаю, що будь-яке рішення залишить кілька білих коробок, що лежать навколо. дякую
Малабарба

Є сценарії, готові до завантаження, просто прокрутіть вниз.
валент

14

Це не ідеальне рішення, але ви можете це робити щоразу, коли відвідуєте сайти, які хочете змінити фон.

У Firefox нижче 38 перейдіть до Tools > Options > Contentта натисніть Coloursкнопку. У Firefox 38 і новіших версіях перейдіть Edit > Preferences > Contentі натисніть Colors.

Виберіть сірий колір для "Фон" та зніміть прапорці біля "Дозволити сторінкам вибирати свої кольори замість моїх вибраних вище" та "Використовувати кольори системи".

alt текст


Цей заслуговує на голосування за те, що він був найпростішим. Він працює майже на кожному сайті. Це змушує вас змінити колір тексту, і це робить його трохи поступається пару інших методів.
Малабарба

2
@Bruce Connor: Правда. З іншого боку, в певних випадках, якщо ви зміните колір bg, вам доведеться також змінити колір fg, щоб отримати розумний контраст. Тож на практиці необхідність зміни кольору тексту може не бути великим недоліком.
sleske

2
якщо ви користуєтеся опцією Firefox, як описано тут, рекомендується використовувати доповнення типу "Без кольору" для швидкого вмикання / вимикання (оскільки зміна кольорів спричинить різні помилки на багатьох сайтах). Крім того, використовуйте Пентадактильний аддон, щоб мати можливість призначити будь-яку дію будь-якій клавіші (включаючи будь-яку опцію переключення Firefox).
corvinus

Це не перекриває колір фону, коли вказано один
Влад

11

Я оновив сценарій Greasemonkey (Firefox), щоб придушити білий фон.

Сценарії працюватимуть у Chrome, якщо встановити Tampermonkey.

http://userscripts-mirror.org/scripts/show/142763

Це змінює всі білі фони на сірі (ish) з деяким затіненням. Ви можете налаштувати та встановити власний базовий колір із загального коду. Відтінки білого кольору також надані.

У мене є три варіанти: сірий , рожевий і зелений - все це можна налаштувати.

Шукайте у користувацьких скриптах для noWhiteBackgroundColor .


Працює чудово - на це повинна відповісти
Mr_and_Mrs_D


4

Наступний Javascript замінить елементи CSS та HTML фоновими елементами білим, а текстові елементи чорним кольором на поточній сторінці, просто вставте його у своє місцезнаходження чи поле браузера:

javascript:(function(){
   var newSS,styles='* {background-color:black !important;color:white !important}
   :link,:link *{color:#99C0EB !important}
   :visited,:visited *{color:#C398EB !important}';

    if(document.createStyleSheet){
        document.createStyleSheet("javascript:'"+styles+"'");
    }else{
        newSS=document.createElement('link');
        newSS.rel='stylesheet';
        newSS.href='data:text/css,'+escape(styles);
        document.getElementsByTagName("head")[0].appendChild(newSS);
    }
})();

Тьфу. Хворобливі% 20.
Привіт71

Це перетворює фон усіх елементів у чорний, а всі елементи (не лише текст) білі.
Привіт71

1
Це справді добре працює. Я змінив чорний на lightgrey та видалив частину, яка змінює колір тексту, тому текст усе ще залишається чорним. І результат насправді досить хороший. Єдине питання полягає в тому, що воно змінює фон абсолютно всього, а не лише білого, тому багато предметів приховується (як кнопки голосування тут в СУ). Чи є спосіб це виправити?
Малабарба

1
@ hello71, колись я вставив це у свій браузер, він змінив усі пробіли на% 20. Вони були видалені. Я сказав, що це змінило всі фони на чорний, я відредагував його, щоб тепер змінити лише текстовий фон чорним, спробуйте ще раз.
Dour High Arch

4

На панелі пошуку браузера введіть about:config.

У полі пошуку введіть browser.display.background_color.

Двічі клацніть по рядку і змініть #FFFFFF(шістнадцятковий код для білого) на #000000(шістнадцятковий код для чорного) або будь-який інший колір, який ви бажаєте, і натисніть OK. Перезапустіть браузер, щоб він набув чинності.


3

У рядку URL-адреси введіть about: config та перейдіть до цього параметра: browser.display.background_color

Більше інформації, якщо вам це потрібно тут .


1
Зміна цієї змінної працює лише на веб-сторінках, які не задають колір тла. Мені вдалося лише працювати на google.com/firefox та на порожніх вкладках.
Малабарба

1
Firebug дозволить вам змінювати сторінки, але вам доведеться робити це кожного разу, коли ви відвідуєте сайт. Змінювати лише білі фони якось важко.
jer.salamon


3

Нещодавно я замінив свій старий комп'ютер і мені потрібно було знову налаштувати Firefox. Однією з головних речей, які я хотів відновити, був сценарій Greasemonkey, який змінив колір фону будь-якого веб-сайту.

Тому мене трохи роздратувало, що я не можу знайти того, яким я користувався раніше. Довга коротка історія - ось ця зі мого старого ПК.

Цей сценарій - це не моя власна робота

Вся кредита повинна бути надана Говарду Сміту. Це було спочатку розміщено на Userscripts.org, який зараз видається недоступним.

Просто створіть новий сценарій користувача в Greasemonkey і вставте наступне:

(function () {
    function noWhiteBackgroundColor() {
        function changeBackgroundColor(x)  {  // Auto change colors too close to white
            var backgroundColorRGB = window.getComputedStyle(x, null).backgroundColor;  // Get background-color
            if(backgroundColorRGB != "transparent")  {  // Convert hexadecimal color to RGB color to compare
                var RGBValuesArray = backgroundColorRGB.match(/\d+/g); // Get RGB values
                var red   = RGBValuesArray[0];
                var green = RGBValuesArray[1];
                var blue  = RGBValuesArray[2];

                // ============================================================================
                // Set the base colors you require:
                // Use: http://www.colorpicker.com
                // to find the RGB values of the base colour you wish to
                // suppress white backgrounds with:
                // Default gray provided:
                // ============================================================================

                var red_needed   = 220;
                var green_needed = 220;
                var blue_needed  = 255;


                if (red>=220 && green>=220 && blue>=220) { // White range detection

                   if (red>=250 && red<=255 && green>=250 && green<=255 && blue>=250 && blue<=255) {
                      red_needed   += 0;
                      green_needed += 0; }

                   else if (red>=240 && red<=255 && green>=240 && green<=255 && blue>=240 && blue<=255) {
                      red_needed   += 6;
                      green_needed += 3; }

                   else if (red>=230 && red<=255 && green>=230 && green<=255 && blue>=230 && blue<=255) {
                      red_needed   += 10;
                      green_needed += 5; }

                   else if (red>=220 && red<=255 && green>=220 && green<=255 && blue>=220 && blue<=255) {
                      red_needed   += 14;
                      green_needed += 7; }

                   x.style.backgroundColor = "rgb( " + red_needed + ", " + green_needed + ", " + blue_needed + ")"; // The background-color you want
               }
            }
        }

        var allElements=document.getElementsByTagName("*"); // Get all elements on a page
        for(var i=0; i<allElements.length; i++)  {
            changeBackgroundColor(allElements[i]);}
    }
    window.addEventListener("DOMContentLoaded",noWhiteBackgroundColor, false);
})();

Я використовую це майже два роки і не можу придумати жодних веб-сайтів, які б не змогли змінити білий фон.


Чудовий сценарій! Тепер якби він працював для внутрішніх сторінок у Firefox, як-от: addons, about: config, about: newtab, view-source: * .. Ви можете додати розділ метаданих вгорі для легшого імпорту. Я використовую цей сценарій у поєднанні з додатком Color Toggle.
jk7


2

Кольоровий

Я цим користуюся.

Розфарбуйте веб-сторінки за допомогою вдосконалених елементів контролю за відтінком, насиченістю, легкістю та непрозорістю. Веб-домени з білим списком для автоматичного забарвлення (необов’язково!).

НОВО: Використовуйте перетягування, щоб скопіювати теми як текст та вільно групувати властивості кольорів.

PS: плюс темна тема Firefox


На жаль, недоступний для FF v57 та вище.
KERR

1

Клацніть на панелі лівою кнопкою миші та налаштуйте, і ви побачите зелене дерево, покладіть його в бар і натисніть на нього. Кольори змінюватимуться, і ви все одно можете створити свої власні кольори в пункті меню Правка -> налаштування -> вміст -> кольори.

Вимкнути: використовувати кольори системи та дозволити сторінки


0

Хоча не зовсім те, що ви шукаєте ... Я використовую програмне забезпечення, поєднане з невеликим сценарієм в OS X. Програмне забезпечення називається Nocturne. Сценарій визначає, який час сходу і заходу сонця в моєму географічному місці. Потім він активує Ноктюрн на заході сонця і вимикає його на сході сонця. Я не специфічний для Firefox, який я знаю, але він впевнений, що це добре, оскільки він працює у будь-якому браузері та на більшості інших програм.


0

Додаток http://addons.mozilla.org/en-US/firefox/addon/black-background-white-text має інший метод для чорних кольорів. Він інвертує лише кольори та фонові зображення (інвертування кольорів не руйнує дизайн сторінки, як у методах CSS або JavaScript). Вам сподобається, ви відчуваєте, що перебуваєте в білому режимі, і вам не потрібно встановлювати жодну тему.

Після установки змініть метод за замовчуванням з "простого css" на "інвертувати" в: меню ІнструментиДодаткиЧорний фон і білий текстМетод за замовчуванням зміни кольорів сторінкиІнвертувати .

Примітка: Якщо ви також змінили режим Windows на чорний, тоді вам буде краще відключити керування кольором Firefox за замовчуванням і дозволити додатку виконувати всю роботу. Зробіть це: меню ІнструментиОпціїЗмістКольори → зніміть прапорець "Використовуйте системні кольори" та виберіть "Ніколи" у "Переміняти кольори, визначені сторінкою, моїми виборами вище".

Потім перезапустіть Firefox!

Порада. Додаток поставить кнопку у вашому рядку, щоб відключити або змінити режими з методу "інвертувати" на метод "CSS" або "JavaScript".

Ось результат:

BlackFirefox


Посилання розірвано ( Сторінку не знайдено ).
Пітер Мортенсен

-1

Інший варіант - просто використовувати Ring of Topaz для зміни кольорів фону або видалення спинки.

Зайшовши на сайт, введіть URL-адресу веб-сайту та виберіть комбінацію кольорів тла / шрифту, зручнішу для вас.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.