Zablokować biały ekran przed załadowaniem strony w chromie?


38

Gdy strona nie ładuje się natychmiast, Chromium i każda inna przeglądarka próbowałem wyświetlić biały ekran, zanim otrzymają odpowiedź:

wprowadź opis zdjęcia tutaj

Chociaż chrome://settings/personalmówi, że używa motywu GTK + - w moim przypadku jest to Darklooks, który ma ciemne tło:

wprowadź opis zdjęcia tutaj

Czy istnieje sposób, aby tego uniknąć w Chromium? A jeśli nie, czy istnieje przeglądarka, która nie ma tego „problemu”?


7
Twoja strona też wygląda naprawdę rozmazana!
Greg

W przeglądarce Firefox możesz zmienić wartość browser.display.background_colorna ciemniejszy kolor (# 333). Spróbuj także dodać browser { background-color: #333 !important; }i tabbrowser tabpanels { background-color: #333 !important}do userChrome.css.
Mateen Ulhaq

ten hack rozwiązał dla mnie biały błysk. stackoverflow.com/questions/16243105/…

Po prostu zainstalowałem ciemny motyw incognito chrome.google.com/webstore/detail/material-incognito-dark-t/… to dla mnie rozwiązało problem: brak ładowania białej strony na stronie!
wp78de

Odpowiedzi:


14

W przypadku Google Chrome i Chromium prawdopodobnie jesteś ofiarą problemu 1373: Poruszanie się po witrynach z ciemnym tłem powoduje oślepiające białe błyski między stronami .

Jest hack, aby zminimalizować, ale nie całkowicie wyeliminować, twoja nieszczęście opisane w komentarzu 261 :

Jako tymczasową poprawkę ustawiłem niestandardowy arkusz stylów użytkownika, aby renderował strony z czarnym tłem, tak aby przed otrzymaniem informacji o stylach ze strony internetowej renderowało okno na czarno zamiast na biało, a teraz miga na czarno, co jest znacznie bardziej znośne na oczy, aż powstanie trwałe rozwiązanie.

Włamanie polega na dodaniu następujących wierszy do twojego, Custom.cssktóry znajduje się User Stylesheetsw twoim Defaultfolderze. W moim przypadku ścieżka jest ~/.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
}

Jeśli chodzi o Firefoksa, używam następującego kodu userChrome.cssw ~/.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}

Jeśli chromefolder nie istnieje, utwórz go. Należy zauważyć, że zarówno chromei userChrome.csssą wrażliwe na wielkość liter.


2
Rozwiązanie Chromium nie działało dla mnie w 2015 roku, ale rozwiązanie Firefox w większości działa. Nie można całkowicie uniknąć migotania z powodu stopniowego ładowania stron przez przeglądarki.
holocronweaver

4
inny siekać przez rozwidlone tutaj kod źródłowy github.com/hbtlabs/chromium-white-flash-fix
HBT

1
metoda firefox nie działa dla mnie (ubuntu 18.04+ ffox 65.0.1)
wotter

3

O ile mi wiadomo, wszystkie stare metody, które naprawiły ten błąd, już nie działają (w 2016 r.). Wpadłem dziś na rozwiązanie tego problemu i napisałem o nim, który jest dostępny tutaj: http://jollo.org/LNT/public/chrome-white-flash.html .

Zasadniczo korzysta ze skryptu auto-klucza, który maluje okno do siebie, aż do załadowania następnej strony, pomijając okres, w którym okno miga.


2

Ładne obejście vasa1, białe błyski zniknęły. Ale tło niektórych stron zmienia kolor na czarny, co jest nieco brzydkie:

wprowadź opis zdjęcia tutaj

Więc dostosowałem ten CSS i otrzymałem:

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

Oznacza to, że gdy kursor nie znajduje się nad stroną, tło jest ustawione na czarne - po kliknięciu przycisku nowej karty kursor nie znajduje się nad stroną, więc czarne tło będzie migać zamiast białego. Po najechaniu kursorem na stronę (podczas jej czytania) czarne tło zostaje zapomniane, a zamiast tego używane jest tło witryny:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj


Świetny! Sprawdź, czy możesz dodać go do listy komentarzy tam (problem 1373). Podejrzewam, że nie, ponieważ wydają się mieć ograniczone komentarze: tylko użytkownicy z uprawnieniami EditIssue mogą komentować. :(

A kiedy rok temu testowałem Midori (także WebKit), nie błysnął na biało! Nie wiem jak jest teraz. Opuściłem Midori, ponieważ nie był tak dostosowywalny i ulegał awarii (dla mnie) ani niektórych ważnych stron.

1
takie podejście nie działa już od 2016 r.
ecoe

1

AKTUALIZACJA: Zmieniłem odpowiedź, aby użyć tymczasowego przyciemnienia ekranu, ponieważ moje poprzednie rozwiązanie było błędne i pozostawiłem stan przewijania przeglądarki uszkodzony.

W tym rozwiązaniu wykorzystano skrypt automatyzatora skonfigurowany jako usługa udostępniona Chrome i ostatecznie zmapowana na skrót klawiaturowy w systemie. Prostym rozwiązaniem było przyciemnienie ekranu około 5-krotnie działało dla mnie, ale możesz chcieć bawić się tym wysyłaniem w zależności od jasności. Jeśli użyjesz na przykład bardzo ciemnego ustawienia, ekran na sekundę całkowicie zgaśnie, ale i tak będzie lepszy niż oślepiający błysk bieli.

Zobacz 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

0

Fajny, działa na historii. Najlepiej jest wziąć oryginalny kod i zmienić tekst na jasny kolor. Drugi kod nie działał, oto jeden:

Ta strona wyjaśnia, jak zmienić kolor lampy błyskowej za pomocą JS

Chrome używa czarnego ekranu podczas korzystania z funkcji obracania css


2
Ponownie zainstalowałem Chrome i teraz poprawka już nie działa, nadal mam plik „Arkusze stylów użytkownika / custom.css”, który działał przed instalacją, ale miga na biało, a strona historii znów jest biała. ktoś wie dlaczego?
com. Prehensible
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.