Как я могу навсегда отключить 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 (см. Рисунок).

Другие вопросы по тегам