Применение стилей к страницам в Chrome до загрузки расширений

5

Я хотел бы применить пользовательский CSS к страницам в Chrome, но до загрузки расширений.

Я уже знаком с этим решением: применение собственного стиля к внутренним страницам Chrome

Но мне нужно применять стили, пока страница еще загружается, до того, как появятся расширения. Для этого Custom.cssраньше работал Chrome , но теперь он был удален. Я ищу взломать, чтобы сделать это.

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

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

Рам Рахум
источник
Некоторые расширения, которые могут помочь: Hacker Vision и High Contrast .
harrymc
1
Будет ли приемлемым решение на уровне операционной системы, а не только для Chrome?
Джейсон Аллер
Я думаю так. (Я использую Windows 7). Конечно, мне нужно увидеть решение, чтобы действительно судить, удовлетворительно ли оно.
Рам Рахум
@harrymc Пробовал их обоих сейчас, не помогло. (Не удивительно, учитывая, что они являются расширениями, кажется, что расширения
включаются

Ответы:

3

Временное решение

Краткосрочный обходной путь может заключаться в понижении версии Chrome до более ранней версии. Быть в курсе, что:

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

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

Информация о файле

Учитывая, что Google не одобрит старые версии Chrome, вы должны полагаться на третьих лиц, которые могут предоставить автономный автономный установщик. Любой веб-установщик автоматически получит самую последнюю версию, что сделает ее абсолютно бесполезной.

Последняя стабильная версия , выпущенная в 31.x ветви 31.0.1650.63. Вот основные детали и хеши официального установщика:

File:    31.0.1650.63_chrome_installer.exe
Size:    33.7 MiB (35337056 bytes)
Version: 31.0.1650.63
---
CRC32:   14b5a4cf
MD5:     8d8e67e5a438e9906cc90c5ed4aa1ad7
SHA1:    a022ceeb5523145efbcf50c30426b8f2cec33716
SHA256:  2aaee6f9da598b483833e541ed8cc1671e3f034624834ad9c5ed1decedafa5a4

Кроме того, файл имеет цифровую подпись Google Incи подпись Symantec Time Stamping Services Signer - G4. Обе подписи должны быть действительными. Вы можете проверить их, открыв диалоговое окно свойств файла.

Для более новых или более старых версий Chrome есть надежная (хотя и неофициальная) страница, содержащая подробную информацию о каждом установщике: Информация об установщике Chrome .

Скачать ссылки

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

Обязательно сканируйте файлы с помощью антивируса и загрузите копию в VirusTotal, чтобы чувствовать себя достаточно уверенно. Если возможно, сначала протестируйте программу в безопасной среде. Когда вы закончите, сделайте резервную копию исполняемого файла установки.

Запретить обновления

  1. Убедитесь, что все процессы, связанные с Chrome, полностью закрыты, затем откройте командную строку с повышенными привилегиями . Введите или вставьте следующие команды, чтобы отключить функции автоматического обновления через реестр:

    reg add "HKLM\SOFTWARE\Policies\Google\Update" /v "UpdateDefault" /t REG_DWORD /d 0 /f
    reg add "HKLM\SOFTWARE\Policies\Google\Update" /v "AutoUpdateCheckPeriodMinutes" /t REG_DWORD /d 0 /f
    reg add "HKLM\SOFTWARE\Policies\Google\Update" /v "DisableAutoUpdateChecksCheckboxValue" /t REG_DWORD /d 1 /f
    reg add "HKLM\SOFTWARE\Policies\Google\Update" /v "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}" /t REG_DWORD /d 0 /f
    
  2. Отключите (но не удалите) все запланированные задачи и службы Google Update:

    for /r "%windir%\System32\Tasks" %A in ("GoogleUpdate*") do @schtasks /change /tn "%~nA" /disable
    for /f "delims=" %A in ('"reg query "HKLM\SYSTEM\CurrentControlSet\Services" | findstr /i /c:"gupdate" "') do @sc stop "%~nA" & @sc config "%~nA" start= disabled
    

    Как отмечает @Synetech, вам следует избегать удаления задач Google Update «потому что Chrome просто создаст их заново при следующем запуске; он не включит их снова, если они уже существуют, но отключены». Я бы не рекомендовал удалять их в любом случае, если вы захотите включить их в будущем.

  3. Запретить GoogleUpdate.exeзапуск приложения:

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GoogleUpdate.exe" /v "Debugger" /t REG_SZ /d "systray.exe" /f
    

    Если вас интересует, как это работает, проверьте этот вопрос: как заблокировать запуск программ (Windows 7) .

  4. Введите chrome:pluginsадресную строку Chrome и отключите плагин Google Update .

Возврат обратно

Если вы хотите снова включить обновления, выполните следующие действия.

  1. Убедитесь, что все процессы, связанные с Chrome, полностью закрыты, затем откройте командную строку от имени администратора. Введите или вставьте следующие команды:

    reg delete "HKLM\SOFTWARE\Policies\Google\Update" /f
    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GoogleUpdate.exe" /f
    for /r "%windir%\System32\Tasks" %A in ("GoogleUpdate*") do @schtasks /change /tn "%~nA" /enable
    for /f "delims=" %A in ('"reg query "HKLM\SYSTEM\CurrentControlSet\Services" | findstr /i /c:"gupdate" "') do @sc config "%~nA" start= demand
    
  2. Введите chrome:pluginsадресную строку Chrome и включите плагин Google Update .

and31415
источник
Использование более старой версии представляет собой угрозу безопасности, учитывая последние эксплойты нулевого дня.
Harrymc
1
Едва; использование (немного) более старой версии в качестве временного обходного пути представляет собой не более угрозу безопасности, чем использование XP или устаревшей защиты от вирусов или чего-либо еще. Даже имея хоть немного здравого смысла, вы можете быть в полной безопасности. Есть много статей о том, как жить совершенно безопасно, без какого- либо антивируса в фоновом режиме. Избегая рискованного поведения и используя несколько простых приемов, таких как маршрутизатор со встроенным брандмауэром, вы можете легко продолжать использовать эту старую версию и быть в полной безопасности в течение нескольких месяцев, пока не сможете найти долгосрочное решение, такое как переключение в другой браузер.
Synetech
2. Disable all Google Update scheduled tasks and services…Я должен отметить, что вы должны только отключить задачи Google Update, но не удалять их, потому что Chrome просто создаст их заново при следующем запуске; он не включит их снова, если они уже существуют, но отключены. (По крайней мере, это верно для версий до 28; я не могу поручиться за более новые версии, которые действительно могут снова включить задачи, если они отключены.)
Synetech
@Synetech Я пытался удалить задачи специально, но они не были созданы снова. Я должен добавить, что я использовал Chrome версии 33.0.1750.154 на Windows 7, хотя; Ваш пробег может варьироваться. Тем не менее, я думаю, что просто отключить задачи лучше, потому что они могут быть легко восстановлены при необходимости. | @RamRachum Я обновил свой ответ, чтобы GoogleUpdate.exeвообще не запускать процесс, даже если связанные задачи или службы должны были быть включены против вашей воли. Я также предоставил шаги отмены для повторного включения обновлений, на всякий случай.
and31415
Возможно они изменили это в версии после того, как я сначала заметил, что это воссоздает их. Или, может быть, они существуют в вашей системе сейчас. Просто не ходите, chrome://aboutиначе он почти наверняка создаст их заново (даже если GoogleUpdate.exeне сможет запустить).
Synetech
0

Это известная ошибка:
Проблема 1373: навигация по темным фоновым веб-сайтам приводит к ослеплению белых вспышек между страницами ,
это очень и очень длинная тема, начинающаяся 4 сентября 2008 года!

Ошибка была «исправлена» несколько раз, но исправления были либо неэффективными, либо их пришлось устранять, потому что они вызывали другие проблемы или неэффективность. Многочисленные другие ошибки были объединены в одну ошибку, многие пользователи объявили о том, что отказались от Chrome из-за этого, но ошибка еще не закрыта.

Анализ ошибки, по-видимому, заключается в том, что если отображаемая страница не начинается с <body>тега HTML, содержащего цвет фона, и если отрисовка страницы занимает более нескольких сотен секунд, страница будет отображаться с белым фоном. , Это может произойти, например, если исходный веб-сайт работает слишком медленно или страница очень велика или написана неэффективно (например, для больших изображений, загрузка которых занимает много времени).

Последние два сообщения в выпуске говорят:

23 мая 2013 г .:

ОК, похоже, что застрял. Это должно быть решено в канарейке скоро, и в 29 выпуске. Если вы все еще видите это, подайте новые ошибки.

И 5 июня 2013 года:

Выпуск 247003 был объединен с этим выпуском.

Ошибка, кажется, была забыта с тех пор - никаких новых записей.

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

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

harrymc
источник
1
Я не согласен с приравниванием моего вопроса к решению этой ошибки. В предыдущих версиях Chrome я был счастлив, потому что определил правило Custom.css, делающее промежуточный период между сайтами черным. Так что, если бы только мы могли взломать что-нибудь с такой функциональностью, как Custom.cssпроблема, проблема была бы решена.
Рам Рахум
К сожалению, разработчики решили исключить Custom.css, поэтому ваша проблема не единственная в настоящее время без решения. Я принимал участие здесь в двух других темах, где единственным выводом было отказаться от Chrome. Custom.css появился довольно недавно (ноябрь 2013 г.), но я не верю, что разработчики вернутся назад. Моя собственная идея заключается в том, что некоторые модули в Chrome были настолько плохо запрограммированы, что разработчики в целях самообороны теперь исключают их, поскольку их невозможно исправить. Кто-то должен будет добровольно переписать его с нуля, но это произойдет не скоро.
Harrymc
Вы также можете попробовать это решение , которое может сократить белую вспышку.
harrymc
1
Спасибо за ссылку. Я пробовал, но это расширение включается только тогда, когда это делает Hacker Vision, так что это не помогает.
Рам Рахум
1
@RamRachum, также, я только что заметил, что ошибка flashbang (и, следовательно, ваша проблема, а также теперь, когда поддержка пользовательских таблиц стилей была прекращена - несмотря на их поддержку и использование в любом другом браузере с начала времен) на самом деле была ошибкой в Chrome, так как буквально, самая первая версия когда-либо выпущенная. Я не могу не задаться вопросом, чем вообще занимаются эти люди, создавая браузер; они явно не обладают необходимыми навыками, если у них так много проблем, и они так тяжело борются, делая и выполняя даже базовые вещи правильно, что другой браузер мог бы вечно. ¬_¬
Synetech