33

Когда страница загружается не сразу, Chromium и все остальные браузеры, которые я пробовал, отображают белый экран, прежде чем они получают от него ответ:

Хотя chrome://settings/personal говорит, что использует тему GTK+ - в моем случае это Darklooks, которая имеет темный фон:

Есть ли способ избежать этого в Chromium? Или, если нет, есть ли браузер, у которого нет этой "проблемы"?

5 ответов5

13

Для Google Chrome и Chromium вы, вероятно, стали жертвой проблемы 1373: навигация по темным веб-сайтам приводит к ослепительным белым вспышкам между страницами.

Есть хитрость, чтобы минимизировать, но не полностью устранить ваше страдание, описанное в комментарии 261:

В качестве временного исправления я настроил пользовательскую таблицу стилей для отображения страниц с черным фоном, чтобы перед получением информации о стилях с веб-сайта он отображал окно черным, а не белым, а теперь вместо этого мигает черным, что намного удобнее для переноски. глаза, пока не будет принято окончательное решение.

Хак включает в себя добавление следующих строк в ваш Custom.css который находится в таблицах User Stylesheets в папке по Default . В моем случае путь ~/.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
}

Что касается Firefox, я использую следующий код в userChrome.css расположенном в ~/.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}

Если папка chrome не существует, создайте ее. Обратите внимание, что и chrome и userChrome.css чувствительны к регистру.

3

Насколько я знаю, все старые методы, которые исправили эту ошибку, больше не работают (в 2016 году). Сегодня я пришел к решению, чтобы преодолеть эту проблему, и написал о нем кое-что, доступное здесь: http://jollo.org/LNT/public/chrome-white-flash.html

По сути, он использует скрипт autohotkey, который рисует окно на себя, пока не загрузится следующая страница, минуя период, в течение которого окно мигает.

2

Хороший обходной путь vasa1, белые вспышки исчезли. Но фон некоторых веб-сайтов становится черным, что немного уродливо:

Поэтому я адаптировал этот CSS и в итоге получил:

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

Это означает, что когда курсор находится не над страницей, фон устанавливается черным - при нажатии на кнопку новой вкладки курсор находится не над страницей, поэтому вместо белого будет мигать черный фон. Когда вы наводите курсор на страницу (когда вы читаете ее), черный фон затем забывается, а вместо него используется веб-сайт:

1

ОБНОВЛЕНИЕ: я изменил свой ответ, чтобы использовать временное затемнение экрана, так как мое предыдущее решение было ошибочным и оставило состояние прокрутки браузера нарушенным.

В этом решении используется сценарий automator, настроенный в качестве службы, доступной для Chrome и, наконец, сопоставленный с сочетанием клавиш в системе. Простым решением было просто уменьшить яркость экрана примерно в 5 раз, но вы можете поиграть с этой посылкой в зависимости от вашей яркости. Например, если вы используете очень темную настройку, экран может на секунду пропасть, но это все же лучше, чем яркая вспышка белого цвета.

См. 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

Хороший, это работает на истории. Лучше всего взять оригинальный код и изменить текст на светлый. Второй код не работает, вот один:

На этой странице объясняется, как изменить цвет вспышки с помощью JS

Chrome мигает черным экраном при использовании css transition rotate

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