Empêcher l'écran blanc avant de charger la page en chrome?

38

Lorsqu'une page ne se charge pas immédiatement, Chromium et tous les autres navigateurs que j'ai essayés affichent un écran blanc avant d'en obtenir une réponse:

entrez la description de l'image ici

Même si chrome://settings/personaldit qu'il utilise le thème GTK + - dans mon cas, c'est Darklooks, qui a un fond sombre:

entrez la description de l'image ici

Existe-t-il un moyen d'éviter cela dans le chrome? Ou, s'il n'y en a pas, existe-t-il un navigateur qui n'a pas ce «problème»?

Alex
la source
7
Votre page est vraiment floue aussi!
Greg
Pour Firefox, vous pouvez changer la valeur de browser.display.background_coloren une couleur plus foncée (# 333). Essayez également d' ajouter browser { background-color: #333 !important; }et tabbrowser tabpanels { background-color: #333 !important}dans userChrome.css.
Mateen Ulhaq
ce hack a résolu le flash blanc pour moi. stackoverflow.com/questions/16243105/…
J'ai simplement installé le thème incognito sombre chrome.google.com/webstore/detail/material-incognito-dark-t/… cela a résolu le problème pour moi: plus de page blanche sur le chargement de la page!
wp78de

Réponses:

14

Pour Google Chrome et Chromium, vous êtes probablement victime du problème 1373: la navigation sur les sites Web à fond sombre entraîne des clignotements blancs aveuglants entre les pages .

Il existe un hack pour minimiser, mais pas totalement éliminer, votre misère décrite dans le commentaire 261 :

En tant que correctif temporaire, j'ai défini la feuille de style utilisateur personnalisée pour afficher les pages avec un fond noir afin qu'avant de recevoir des informations de style du site Web, elle rend la fenêtre noire au lieu de blanche, et maintenant elle clignote en noir à la place, ce qui est beaucoup plus supportable sur les yeux jusqu'à ce qu'une solution permanente soit faite.

Le hack consiste à ajouter les lignes suivantes à votre Custom.cssqui se trouve User Stylesheetsdans votre Defaultdossier. Dans mon cas, le chemin est ~/.config/chromium/Default/User Stylesheets.

html, body{
background-color:#000000; //This sets the background color to black
color:#0000FF; //This sets the text to blue, so you can read it on webpages set to use defaults; white is too hard on my eyes and if you dont put this it will be black on black
}

Quant à Firefox, j'utilise le code suivant userChrome.csssitué dans ~/.mozilla/firefox/profile_name/chrome:

@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

/*prevent white flash*/
tabbrowser tabpanels { background-color: #111 !important}

Si le chromedossier n'existe pas, créez-le. Notez que les deux chromeet userChrome.csssont sensibles à la casse.


la source
2
La solution de chrome n'a pas fonctionné pour moi en 2015, mais la solution Firefox le fait principalement. Impossible d'éviter complètement le scintillement en raison du chargement incrémentiel des pages par les navigateurs.
holocronweaver
4
un autre hack en forçant le code source ici github.com/hbtlabs/chromium-white-flash-fix
hbt
1
la méthode firefox ne fonctionne pas pour moi (ubuntu 18.04+ ffox 65.0.1)
wotter
3

Pour autant que je sache, toutes les anciennes méthodes qui ont corrigé ce bogue ne fonctionnent plus (en 2016). J'ai trouvé une solution aujourd'hui pour surmonter ce problème et j'en ai écrit quelques-unes qui sont disponibles ici: http://jollo.org/LNT/public/chrome-white-flash.html .

Il utilise essentiellement un script autohotkey qui peint la fenêtre sur elle-même jusqu'au chargement de la page suivante, en contournant la période pendant laquelle la fenêtre clignote.

fanfare
la source
2

Belle solution de contournement vasa1, les flashs blancs ont disparu. Mais l'arrière-plan de certains sites Web devient noir, ce qui est un peu moche:

entrez la description de l'image ici

J'ai donc adapté ce CSS et je me suis retrouvé avec:

html:not(:hover), body:not(:hover){
    background-color:#000000;
}

Cela signifie que lorsque le curseur n'est pas sur la page, l'arrière-plan est défini sur noir - lorsque vous cliquez sur le nouveau bouton d'onglet, le curseur n'est pas sur la page, donc un arrière-plan noir clignote au lieu d'un blanc. Lorsque vous passez le curseur sur la page (lorsque vous la lisez), le fond noir est alors oublié et celui du site Web est utilisé à la place:

entrez la description de l'image ici entrez la description de l'image ici

Alex
la source
Génial! Voyez si vous pouvez l'ajouter à la liste des commentaires (problème1373). Je soupçonne que vous ne pouvez pas parce qu'ils semblent avoir des commentaires restreints: seuls les utilisateurs avec l'autorisation EditIssue peuvent commenter. :(
Et quand j'ai testé Midori (également WebKit) il y a un an, il n'a pas clignoté en blanc! Je ne sais pas comment c'est maintenant. J'ai quitté Midori parce qu'il n'était pas aussi personnalisable et s'est écrasé (pour moi) ou certaines pages importantes.
1
cette approche ne fonctionne plus à partir de 2016
ecoe
1

MISE À JOUR: J'ai changé ma réponse pour utiliser une atténuation temporaire de l'écran car ma solution précédente était boguée et a laissé l'état de défilement du navigateur cassé.

Cette solution utilise un script d'automate configuré comme un service mis à la disposition de Chrome et finalement mappé à un raccourci clavier dans le système. La solution simple était de simplement obscurcir l'écran environ 5x a fonctionné pour moi, mais vous voudrez peut-être jouer avec cet envoi en fonction de votre luminosité. Si vous utilisez un réglage très sombre par exemple, l'écran peut devenir complètement vierge pendant une seconde, mais c'est encore mieux que le flash éclatant de blanc.

Voir https://gist.github.com/lacostenycoder/01108de10fe02e2f39d9cceb2457b895

on run {input, parameters}

    set the_application to (path to frontmost application as Unicode text)

  repeat 5 times
    tell application "System Events"
          key code 107
      end tell
  end repeat
  delay 1

    tell application "System Events"

    keystroke "t" using command down
    delay 1

    end tell
  delay 1 
  repeat 5 times
    tell application "System Events"
          key code 113
      end tell
  end repeat

    return input
end run
lacostenycoder
la source
0

Sympa, ça marche sur l'histoire. La meilleure chose à faire est de prendre le code original et de changer le texte en une couleur claire. Le deuxième code n'a pas fonctionné, en voici un:

Cette page explique comment changer le flash couleur à l'aide d'un JS

Chrome clignote un écran noir lors de l'utilisation de la transition css

compréhensible
la source
2
J'ai réinstallé Chrome et maintenant le correctif ne fonctionne plus, j'ai toujours le fichier "user stylesheets / custom.css" qui fonctionnait avant l'installation, mais il clignote en blanc et la page d'historique est de nouveau blanche. quelqu'un sait pourquoi?
com.prehensible