Как я могу навсегда отключить WebGL в Google Chrome?
Я знаю, как отключить WebGL в Chrome, добавив команду в поле назначения ярлыка.
Однако, если я открою гиперссылку и ни один экземпляр Chrome уже не будет открыт с помощью этого ярлыка, WebGL будет включен.
Можно ли отключить WebGL независимо от того, как открывается Chrome?
Я использую Chrome 13.0.782.215 на Windows 7 64-битной.
6 ответов
К сожалению, разработчики Chromium не спешат (и явно не любят) обрабатывать параметры командной строки, когда устанавливают его в качестве веб-браузера по умолчанию.
Пока они не займутся этим (если вообще когда-либо), вам нужно будет самостоятельно устанавливать любые аргументы для каждой записи реестра (и ярлыка) каждый раз, когда ваша командная строка нуждается в изменении.
Это может стать довольно громоздким, поскольку существует несколько мест в реестре, в которых хранится исполняемый файл, и, следовательно, его необходимо обновить (не менее десятка мест по умолчанию). Я нашел довольно удобный обходной путь, который значительно облегчает обновление и обслуживание.
Если вы не получите хорошего ответа на это (и похоже, что вы этого не сделаете, даже если вы автоматически получите награду за вознаграждение), вы вполне можете подать отчет об ошибке в Chromium - в конце концов, это проблема безопасности. По моему мнению, если они действительно заботятся о безопасности, WebGL должен быть отключен по умолчанию для всех пользователей. Должен быть, по крайней мере, способ отключить его от chrome://settings
стр.
Я опишу, как добавить параметр вызова для Firefox, который я использую, и вы можете адаптировать процедуру к Chrome. Это включает в себя редактирование реестра, поэтому сначала примите все необходимые меры предосторожности, включая создание точки восстановления системы.
Откройте regedit и найдитеHKEY_CLASSES_ROOT\.htm
а также HKEY_CLASSES_ROOT\.html
, Нажмите на оба, и вы увидите (Default)
запись, которая для Firefox содержит значение FirefoxHTML
,
Теперь позиционируйте себя на HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command
, (Default)
запись содержит вызов команды Firefox. Измените его, чтобы включить дополнительный параметр (-disable-webgl
в твоем случае).
Это должно иметь мгновенный эффект, но вам может потребоваться выйти из системы и войти в систему.
РЕДАКТИРОВАТЬ
Другие ключи реестра для проверки того, что они используют один и тот же обработчик (FirefoxHTML):
HKEY_CLASSES_ROOT\.shtml
HKEY_CLASSES_ROOT\.xht
HKEY_CLASSES_ROOT\.xhtm
HKEY_CLASSES_ROOT\.xhtml
HKEY_CLASSES_ROOT\HTTP\shell\open\command
HKEY_CLASSES_ROOT\https\shell\open\command
HKEY_CLASSES_ROOT\ftp\shell\open\command
Один слегка хакерский способ сделать это - создать chrome.bat где-нибудь в вашем%PATH%. В этом у вас есть [drive]:\Path\To\chrome.exe --disable-webgl %1
,
Затем измените обработчик ссылок по умолчанию, чтобы использовать chrome.bat вместо Chrome.
Создайте exe на вашем любимом языке под названием chrome.exe
, переименуйте оригинальный хром в другое foo.exe
, В твоем exe старте foo.exe
с необходимыми параметрами.
РЕДАКТИРОВАТЬ: написать кусок исполняемого кода, который вызывает foo.exe
с необходимыми параметрами. Вы можете использовать простой сценарий оболочки.
Теперь вам нужно только поместить вновь созданный файл в папку Chrome, эффективно заменив то, что было бы оригиналом. Таким образом, он никогда не откроется без ваших параметров.
Я не уверен, как это работает с автоматическими обновлениями, хотя.
Чтобы отключить посещение WebGL:
chrome://flags/#disable-software-rasterizer
в вашем браузере. Одна из настроек озадаченно называется "Отключить WebGL", и вам необходимо включить или отключить WebGL (см. Рисунок).