Иногда в вебе встречаются ссылки с протоколами отличными от HTTP и HTTPS. Например: irc:// tg:// mailto:// Если кликнуть, откроется внешняя программа или появится диалог, предлагающий её выбрать.
Некоторые сайты пытаются открывать такие ссылки автоматически. Джаваскриптом. НА КАЖДОЙ СТРАНИЦЕ. Гады.
Обработка протколов определяется настройками network.protocol-handler.* в about:config. http://kb.mozillazine.org/Network.protocol-handler.expose-all#Related_preferences
Там имеются следующие булевы параметры:
network.protocol-handler.expose-all
— открывать все протоколы, которые явно не запрещены; false запретит даже http/https.
network.protocol-handler.expose.<протокол>
— открывать протокол.
network.protocol-handler.external-default
— открывать все протоколы во внешней программе.
network.protocol-handler.external.<протокол>
— открывать данный протоколы во внешней программе; false — пытаться в браузере.
network.protocol-handler.warn-external-default
— для всех выводить диалог при попытке открыть во внешней программе.
network.protocol-handler.warn-external.<протокол>
— то же для конкретного протокола.
Ещё бывают network.protocol-handler.app.<протокол>
с путями для запуска приложений-обработчиков. У меня они отсутствуют, а информация берётся откуда-то из иксов.
Чтобы не выскакивали окна, надо создать network.protocol-handler.expose.<протокол> = false
и network.protocol-handler.external.<протокол> = false
.
Вопрос: Зачем нужно external = false? Почему одного expose = false недостаточно?