Cambia lo sfondo bianco nelle pagine web con un altro colore


47

Attualmente sto usando un tema scuro in Firefox. Sembra davvero bello, ma molte pagine web usano un semplice sfondo bianco. Il contrasto risultante è un po 'spiacevole e a volte fa male all'occhio quando passo da una scheda scura a una scheda bianca.

C'è un modo per far sì che Firefox sostituisca i backgroun bianchi ovunque con qualche altro colore (grigio chiaro, per esempio)? Potrebbe essere uno script Stylish, un hack userChrome.css o qualsiasi cosa funzioni (preferibilmente il più leggero possibile).

Per chiarirmi: dopo aver raggiunto il mio obiettivo, il colore di sfondo ogni volta che visito il sito Superuser dovrebbe essere grigio chiaro anziché bianco, e lo stesso dovrebbe accadere per qualsiasi altro sito con uno sfondo bianco (siti google, tecnologia crunch, ecc. ).

C'è un modo per farlo?


5
Vorrei raccomandare contro questo, la maggior parte dei siti Web utilizza molte classi e CSS diversi per lo stile del testo. Cosa succede quando si ha uno sfondo nero E un testo nero, come indicato nella pagina Web? Quale sistema operativo usi per interesse?
danixd,

Windows 7 principalmente, anche se una soluzione indipendente dalla piattaforma sarebbe migliore perche 'uso anche ubuntnu al lavoro. So che potrebbe causare un comportamento imbarazzante con alcuni siti e lo sfondo dovrebbe essere un po 'grigio chiaro anziché nero, quindi il testo è leggibile. Ma questa cosa mi ha infastidito al punto che sono disposto a sperimentare.
Malabarba,

Vari addon possono fare un po 'di fare questo - ad esempio addons.mozilla.org/En-us/firefox/addon/…
Wilf

Risposte:


21

Ho appena scritto un veloce script Greasemonkey che controlla lo stile calcolato bodydell'elemento e lo cambia in nero (probabilmente vuoi scegliere un colore diverso):

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

Il problema con questo tipo di cose è che, a meno che i siti Web non siano progettati in modo ottimale , ci saranno macchie di bianco su nero.


4
Perdona la mia ignoranza, ma dove posso incollare questa sceneggiatura? (grazie per il disturbo)
Malabarba,

@Bruce: installa Greasemonkey, crea un nuovo script utente per * e incollalo nell'editor di testo. Salva e aggiorna la pagina.
Hello71,

Ok, questo metodo funziona meglio finora. Non cambia lo sfondo delle caselle di testo e un paio di altre cose, ma a parte questo è buono. Immagino che qualsiasi soluzione lascerà comunque qualche scatola bianca in giro. grazie
Malabarba,

Ci sono script pronti per il download, basta scorrere verso il basso.
valentt,

14

Questa non è una soluzione perfetta, ma puoi farlo ogni volta che visiti i siti in cui vuoi cambiare lo sfondo.

In Firefox inferiore a 38, vai a Tools > Options > Contente fai clic sul Colourspulsante. In Firefox 38 e versioni successive, vai su Edit > Preferences > Contente lì fai clic Colors.

Seleziona il grigio per lo "Sfondo" e deseleziona le caselle di controllo accanto a "Consenti alle pagine di scegliere i propri colori, anziché le mie selezioni sopra" e "Usa i colori di sistema".

testo alternativo


Questo merita un voto per essere il più semplice. Funziona su quasi tutti i siti. Ti costringe a cambiare il colore del testo, e questo lo rende leggermente inferiore a un paio di altri metodi.
Malabarba,

2
@Bruce Connor: True. D'altra parte, in alcuni casi se cambiate il colore bg, dovrete cambiare anche il colore fg, per ottenere un contrasto ragionevole. Quindi in pratica dover cambiare il colore del testo potrebbe non essere un grosso svantaggio.
sleske,

2
se si utilizza l'opzione Firefox come descritto qui, si consiglia di utilizzare un componente aggiuntivo come "Nessun colore" per attivarlo / disattivarlo rapidamente (poiché la modifica dei colori causerà vari bug su molti siti). In alternativa, utilizzare il componente aggiuntivo Pentadactyl per essere in grado di assegnare qualsiasi azione a qualsiasi tasto (inclusa qualsiasi opzione di attivazione / disattivazione di Firefox).
corvinus,

Questo non sovrascrive il colore di sfondo quando ne viene specificato uno
Vlad

11

Ho aggiornato uno script Greasemonkey (Firefox) per eliminare gli sfondi bianchi.

Gli script funzioneranno in Chrome se installi Tampermonkey.

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

Questo cambia tutti gli sfondi bianchi in grigi (ish) con alcune ombreggiature. È possibile configurare e impostare il proprio colore di base dal codice generico. Vengono anche rese sfumature di bianco.

Ho tre varianti: grigio , rosa e verde , tutte personalizzabili.

Cerca negli script utente noWhiteBackgroundColor .


Funziona perfettamente - questa dovrebbe essere la risposta
Mr_and_Mrs_D


4

Il seguente Javascript sovrascriverà gli elementi di sfondo CSS e HTML con il bianco e gli elementi di testo con il nero nella pagina corrente, incollandolo nella posizione o nel campo del browser:

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

Ugh. Doloroso% 20.
Hello71,

Questo trasforma tutto lo sfondo degli elementi in nero e tutti gli elementi (non solo il testo) in bianco.
Hello71,

1
Funziona davvero bene. Ho cambiato il nero in grigio chiaro e ho rimosso la parte che cambia il colore del testo, quindi il testo è ancora nero. E il risultato è in realtà abbastanza buono. L'unico problema è che cambia lo sfondo di tutto, non solo ciò che è bianco, quindi molte cose vengono nascoste (come i pulsanti di voto qui in SU). C'è un modo per risolvere questo?
Malabarba,

1
@ ciao71, in qualche modo quando l'ho incollato nel mio browser ha cambiato tutti gli spazi in% 20. Questi sono stati rimossi. Ho detto che ha cambiato tutti gli sfondi in nero, l'ho modificato per cambiare solo gli sfondi di testo in nero, riprovare.
Dour High Arch,

4

Nella barra di ricerca del browser, digitare about:config.

Nel campo di ricerca, digitare browser.display.background_color.

Fare doppio clic sulla stringa e modificare #FFFFFF(codice esadecimale per il bianco) in #000000(codice esadecimale per il nero) o qualsiasi altro colore desiderato e fare clic OK. Riavvia il browser affinché abbia effetto.


3

Nella barra dell'URL digitare about: config e accedere a questa impostazione: browser.display.background_color

Maggiori informazioni se ne hai bisogno qui .


1
La modifica di questa variabile funziona solo su pagine Web che non specificano un colore di sfondo. Ho potuto farlo funzionare solo su google.com/firefox e in schede vuote.
Malabarba,

1
Firebug ti permetterà di cambiare pagina ma dovresti farlo ogni volta che visiti il ​​sito. Cambiare solo sfondi bianchi è un po 'difficile.
jer.salamon,


3

Di recente ho sostituito il mio vecchio computer e avevo bisogno di configurare nuovamente Firefox. Una delle cose principali che desideravo ripristinare era una sceneggiatura di Greasemonkey che ha cambiato il colore di sfondo di qualsiasi sito Web.

Ero quindi un po 'seccato di non riuscire a trovare quello che avevo usato prima. Per farla breve: ecco quello del mio vecchio PC.

Questa sceneggiatura non è opera mia

Tutto il merito deve essere assegnato a Howard Smith. Questo è stato originariamente pubblicato su Userscripts.org che ora sembra non essere disponibile.

Basta creare un nuovo script utente in Greasemonkey e incollare quanto segue in:

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

Lo uso da quasi due anni e non riesco a pensare a nessun sito Web in cui non sia riuscito a cambiare lo sfondo bianco.


Ottima sceneggiatura! Ora, se solo funzionasse per le pagine interne di Firefox come about: addons, about: config, about: newtab, view-source: * .. Potresti aggiungere una sezione di metadati in alto per semplificare l'importazione. Sto usando questo script in combinazione con il componente aggiuntivo Color Toggle.
jk7,


2

colorific

Lo uso.

Colorare le pagine Web mediante controlli avanzati per tonalità, saturazione, luminosità e opacità. Domini Web in white list per la colorazione automatica (opzionale!).

NOVITÀ: utilizzare il trascinamento della selezione per copiare temi come testo e raggruppare liberamente le proprietà dei colori.

PS: più il tema scuro di Firefox


Purtroppo non disponibile per FF v57 e versioni successive.
KERR

1

Fai clic sulla barra con il pulsante sinistro del mouse e personalizza e vedrai un albero verde, mettilo nella barra e fai clic su di esso. I colori cambieranno e puoi ancora creare i tuoi colori nella voce di menu Modifica -> preferenza -> contenuto -> colori.

Disabilita: usa i colori di sistema e consenti le pagine


0

Anche se non è esattamente quello che stai cercando ... Uso un software associato a un piccolo script in OS X. Il software si chiama Nocturne. La sceneggiatura scopre a che ora sono l'alba e il tramonto nella mia posizione geografica. Quindi attiva Notturno al tramonto e lo spegne all'alba. Non sono specifico di Firefox, lo so, ma è sicuramente bello perché funziona su qualsiasi browser e su molti altri software.


0

Il componente aggiuntivo http://addons.mozilla.org/en-US/firefox/addon/black-background-white-text ha un metodo diverso per i colori neri. Inverte solo i colori e le immagini di sfondo (l'inversione dei colori non distruggerà il design della pagina come nei metodi CSS o JavaScript). Ti piacerà, ti senti come se fossi nella modalità bianca e non devi installare alcun tema.

Dopo l'installazione, cambia il metodo predefinito da "css semplice" a "inverti" in: menu StrumentiComponenti aggiuntiviSfondo nero e testo biancoMetodo predefinito per cambiare i colori della paginaInverti .

NB: Se hai cambiato anche la modalità Windows in nero, troverai meglio disabilitare la gestione del colore predefinita di Firefox e lasciare che il componente aggiuntivo faccia tutto il lavoro, fai questo: menu StrumentiOpzioniContenutoColori → deseleziona "Usa i colori di sistema" e seleziona "Mai" in "Sostituisci i colori specificati dalla pagina con le mie selezioni sopra".

Quindi riavvia Firefox!

Suggerimento: il componente aggiuntivo inserisce un pulsante nella barra per disabilitare o modificare le modalità dal metodo "invert" al metodo "CSS" o "JavaScript".

Ecco il risultato:

BlackFirefox


Il collegamento è interrotto ( Pagina non trovata ).
Peter Mortensen,

-1

Un'altra opzione è quella di usare semplicemente Ring of Topaz per cambiare i colori di sfondo o rimuovere la parte posteriore.

Una volta che vai sul sito, inserisci l'URL del sito Web e scegli una combinazione di colori di sfondo / carattere più leggibile per te.

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.