Я написал простое приложение, которое регистрирует «обработчик х-схемы» в файле .desktop. Примерно так: -
[Desktop Entry]
Name=Foo
Exec=/usr/bin/foo %u
Type=Application
NoDisplay=true
Categories=System;
MimeType=x-scheme-handler/foo;
Это позволяет пользователю щелкнуть ссылку foo://
в браузере, чтобы запустить мое приложение. Однако Firefox открывает диалоговое окно «Запустить приложение», чтобы спросить пользователя, какое приложение запустить, по умолчанию мое.
Как я могу отключить это диалоговое окно, чтобы Firefox просто запускал приложение, не требуя всплывающего подтверждения.
Когда впервые открывается диалоговое окно «Запустить приложение», щелкните поле с надписью «Запомнить мой выбор» и нажмите «ОК».
Firefox имеет систему, которая распознает расширение файла или расширение панели браузера. В настройках Firefox (Меню -> Правка -> Настройки -> Приложения) вы можете указать, что делать при открытии какого файла.
То, что вы ищете, это протокол приложения. При этом вы можете открыть определенный файл или запустить приложение.
Эти обработчики схемы хранятся в файле ~/.mozilla/firefox/YOUR_PROFILE_ID/mimeTypes.rdf
. Откройте файл .rdf с помощью gedit или вашего любимого текстового редактора.
Теперь вы должны увидеть XML-текст. Вы можете разделить файл на заголовок, схемы и нижний колонтитул.
Обычная запись выглядит следующим образом:
<RDF:Description RDF:about="urn:scheme:NAME"
NC:value="ENTER YOUR VALUE">
<NC:handlerProp RDF:resource="urn:scheme:handler:NAME"/>
</RDF:Description>
Теперь вы можете редактировать файл обработчика схемы и добавить свою собственную запись. Я надеюсь, что это поможет вам!
Вам следует рассмотреть возможность добавления схемы RDF в ваш файл ~/.mozilla/firefox/PROFILE/mimeTypes.rdf
, например:
<RDF:Description RDF:about="urn:scheme:foo"
NC:value="foo">
<NC:handlerProp RDF:resource="urn:scheme:handler:foo"/>
</RDF:Description>
Или, если это не работает:
<RDF:Description RDF:about="urn:mimetype:handler:foo"
NC:alwaysAsk="false"
NC:useSystemDefault="true"
NC:saveToDisk="false">
<NC:externalApplication RDF:resource="urn:mimetype:externalApplication:foo"/>
</RDF:Description>