在 Firefox 中添加 x-scheme-handler 而不弹出窗口

在 Firefox 中添加 x-scheme-handler 而不弹出窗口

我编写了一个简单的应用程序,它在 .desktop 文件中注册了一个“x-scheme-handler”。如下所示:-

[Desktop Entry]
Name=Foo
Exec=/usr/bin/foo %u
Type=Application
NoDisplay=true
Categories=System;
MimeType=x-scheme-handler/foo;

这样用户就可以单击foo://浏览器中的链接来启动我的应用程序。但是 Firefox 会弹出“启动应用程序”对话框,询问用户要启动哪个应用程序,而我的应用程序是默认的。

我怎样才能抑制这个对话框,以便 Firefox 只需启动应用程序而不需要弹出确认。

答案1

您应该考虑在文件中添加 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>

答案2

首次出现启动应用程序对话框时,单击“记住我的选择”框,然后单击确定。

Firefox 启动应用程序对话框

答案3

Firefox 有一个识别文件扩展名或浏览器栏扩展名的系统。在 Firefox 首选项(菜单 -> 编辑 -> 首选项 -> 应用程序)中,您可以指定打开哪个文件时要执行的操作。

你要找的是应用程序协议。有了它,你可以打开特定文件或启动应用程序。

这些方案处理程序存储在文件中~/.mozilla/firefox/YOUR_PROFILE_ID/mimeTypes.rdf。使用 gedit 或您喜欢的文本编辑器打开 .rdf 文件。

现在您应该可以看到 XML 文本。您可以将文件分为页眉、方案和页脚。

正常条目如下所示:

<RDF:Description RDF:about="urn:scheme:NAME"
     NC:value="ENTER YOUR VALUE">
    <NC:handlerProp RDF:resource="urn:scheme:handler:NAME"/>
</RDF:Description>

现在您可以编辑方案处理程序文件并添加您自己的条目。希望这对您有所帮助!

相关内容