Как я могу навсегда отключить WebGL в Google Chrome?

7423
Moab

Я знаю, как отключить WebGL в Chrome, добавив команду в поле назначения ярлыка.

Однако, если я открою гиперссылку и ни один экземпляр Chrome уже не будет открыт с помощью этого ярлыка, WebGL будет включен.

Можно ли отключить WebGL независимо от того, как открыт Chrome?

Я использую Chrome 13.0.782.215 на Windows 7 64-битной.

6
Вы, ребята, на самом деле пили пропаганду против WebGL? Можете ли вы указать на одну известную уязвимость открытого WebGL? (Подсказка - вы не можете. Никто не может распространять FUD о WebGL). / Реализатор WebGL (но не в Chrome) 12 лет назад 3
https://www.khronos.org/registry/webgl/sdk/tests/extra/lots-of-polys-example.html SecurityMatt 11 лет назад 0

6 ответов на вопрос

2
harrymc

Я опишу, как добавить параметр вызова для 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.exe "-"% 1 "--disable-webgl Moab 12 лет назад 0
Будучи осторожным, я бы сделал это больше похожим на `" chrome.exe "--disable-webgl -"% ​​1 "` harrymc 12 лет назад 0
спасибо, что делает% 1? Moab 12 лет назад 0
Указывает на 1-й аргумент. В этом случае, когда Windows использует эту команду, она передаст URL в качестве аргумента команды. arunkumar 12 лет назад 0
Спасибо, Арункумар, я надеялся, что Гаррим ответит, но, возможно, он отвечает только за вознаграждение. Moab 12 лет назад 0
@Moab: (Я слышал это!) Извините, что не был там, чтобы ответить, но arunkumar был быстрее. harrymc 12 лет назад 0
@Harrymc, взгляни на это, я заплачу награду за рабочее решение ... http: //superuser.com/questions/260391/cant-find-the-bagmru-size-value-my-folder-settings -Вы пробивной потерянная Moab 12 лет назад 0
Я отредактировал свой ответ на этот вопрос. harrymc 12 лет назад 0
Не забудьте все остальные места. Synetech 12 лет назад 0
Harrymc, ты хочешь прокомментировать дополнительные места в реестре? Moab 12 лет назад 0
Сделал так. Найти их можно, просто выполнив поиск по реестру FirefoxHTML, поэтому предлагаемое изменение позаботится обо всех сразу. harrymc 12 лет назад 0
Было бы лучше, если бы ваш ответ относился к Chrome, а не к Firefox. Трудно решить, кому отдать награду. Moab 12 лет назад 0
Я полагаю, что вы применили мой ответ, и он сработал для вас, поэтому вы можете улучшить мой ответ, указав детали для Chrome (разница только в одном разделе реестра). Если это не сработало, то примите один из других ответов. harrymc 12 лет назад 0
Я не считаю правильным улучшать ответ на мой вопрос, когда речь идет о вознаграждении, но это только я. Moab 12 лет назад 0
2
Synetech

К сожалению, разработчики Chromium не спешат (и, видимо, не любят) обрабатывать параметры командной строки при установке его в качестве веб-браузера по умолчанию .

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

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

Хм, я не знаю, как это случилось. Это сейчас исправлено. Synetech 12 лет назад 0
Я не знаю, почему они не позволяют вам отключить его в Flags. Интересно, совпадает ли "GPU Accelerated Canvas 2D" в About: Flags с webgl? Moab 12 лет назад 0
`about: flags` (как сказано в предупреждении / отказе от обязательств в верхней части страницы) является экспериментальным и временным. WebGL * раньше * находился на странице флагов, но это было, когда WebGL был отключен по умолчанию, и опытные пользователи могли использовать эту страницу, чтобы специально включить ее. * GPU Accelerated Canvas 2D * не является WebGL, он позволяет загружать обработку графики на определенные графические процессоры. WebGL - это языковая спецификация / библиотека, которая * может использовать * графику с ускорением графического процессора, если она доступна - подумайте DirectX <-> FPU. Кроме того, версии, имеющие эту опцию flags, также имеют параметр --disable-webgl (если бы они были одинаковыми, была бы только одна из них). Synetech 12 лет назад 2
2
Hugh Allen

Если вы не получите хороший ответ на этот вопрос (и похоже, что вы его не получите, даже если он автоматически получит награду за вознаграждение), вы вполне сможете подать отчет об ошибке в Chromium - в конце концов, это проблема безопасности . По моему мнению, если они действительно заботятся о безопасности, WebGL должен быть отключен по умолчанию для всех пользователей. Должен быть хотя бы способ отключить его со chrome://settingsстраницы.

Не совсем ошибка, но отсутствует функция. Moab 12 лет назад 0
1
arunkumar

Один слегка хакерский способ сделать это - создать chrome.bat где-нибудь в вашем% PATH%. В этом у вас есть [drive]:\Path\To\chrome.exe --disable-webgl %1.

Затем измените обработчик ссылок по умолчанию, чтобы использовать chrome.bat вместо Chrome.

Я хотел глобальное решение, где оно будет работать независимо от того, как открыт Chrome. Moab 12 лет назад 0
0
Jes

Создайте исполняемый файл на вашем любимом языке с именем chrome.exe, переименуйте оригинальный Chrome во что-нибудь еще, например foo.exe. В вашем exe начните foo.exeс обязательных параметров.

РЕДАКТИРОВАТЬ: написать кусок исполняемого кода, который вызывает foo.exeс необходимыми параметрами. Вы можете использовать простой сценарий оболочки.

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

Я не уверен, как это работает с автоматическими обновлениями, хотя.

«Создать исполняемый файл на вашем любимом языке с именем chrome.exe» требует пояснения. Moab 12 лет назад 1
-1
SecurityMatt

To disable WebGL visit:

chrome://flags/#disable-software-rasterizer 

in your browser. One of the settings is confusingly named "Disable WebGL", which you have to Enable to Disable WebGL (go figure).

Да, они добавили флаг, чтобы отключить его. Moab 11 лет назад 0