我编写了一个简单的应用程序,它在 .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
首次出现启动应用程序对话框时,单击“记住我的选择”框,然后单击确定。
答案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>
现在您可以编辑方案处理程序文件并添加您自己的条目。希望这对您有所帮助!