【问题标题】:How to access "Open with/Save" dialog to catch the download link?如何访问“打开方式/保存”对话框以获取下载链接?
【发布时间】:2014-03-14 04:18:03
【问题描述】:

我注意到:如果Mozilla Firefox用户点击下载链接(EX:this),会弹出以下“打开方式/保存”对话框:

我有一个名为 rd 的下载管理器,用 Python 编写,所以我需要:

  1. 从 Firefox 获取下载链接。

  2. 将其发送到我的下载管理器。

我想通过以下任何方法来实现:

  • 向该对话框添加复选框,使用户能够在此链接中使用我的下载管理器(如 DTA 和 flashgot 添加他们的复选框)。
  • 监听该事件(弹出保存对话框),
  • 将我的名为 rd 的下载管理器添加为除html 以外的任何文件类型的默认应用程序,但我们应该让用户能够add to/remove from 将文件类型发送到我的应用程序。

【问题讨论】:

    标签: firefox firefox-addon-sdk xul preference


    【解决方案1】:

    这是由 Firefox 的 MIME 类型处理来处理的,可以通过编辑 MimeTypes.rdf 进行配置。我认为除了某种类型之外没有办法处理所有类型,相反,您似乎必须为您希望处理的每种 MIME 类型显式启用您的应用程序。

    这是将.png 文件的处理程序设置为您的rd 程序的示例。

      <RDF:Description RDF:about="urn:mimetype:image/png"
                       NC:fileExtensions="png"
                       NC:description="PNG Image"
                       NC:value="image/png"
                       NC:editable="true">
        <NC:handlerProp RDF:resource="urn:mimetype:handler:image/png"/>
      </RDF:Description>
    
      <RDF:Description RDF:about="urn:mimetype:handler:image/png"
                       NC:alwaysAsk="false"
                       NC:saveToDisk="false"
                       NC:useSystemDefault="false"
                       NC:handleInternal="false">
        <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:image/png"/>
      </RDF:Description>
    
      <RDF:Description RDF:about="urn:mimetype:externalApplication:image/png"
                       NC:path="[PATH TO rd]"
                       NC:prettyName="rd" />
    

    至于允许用户将默认处理程序更改为其他内容,这已经在 Firefox 的首选项(Preferences->Applications)中启用。

    【讨论】:

    • 您将 rd 应用安装到的位置。
    • mimetype.rdf 的路径是什么??
    • 哦,对不起,我误会了。它因配置文件而异。一个给定的用户可以有多个 Firefox 配置文件。您可以在 Windows 上的 C:/Users/[Username]/AppData/Roaming/Mozilla/Firefox/Profiles/[Profile Name]/mimeTypes.rdf 和 Linux 上的 /home/[Username]/.mozilla/firefox/[Profile Name]/mimeTypes.rdf 中找到它们。
    • 也许这个链接可以帮助找到配置文件目录。 developer.mozilla.org/en-US/Add-ons/Code_snippets/…
    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 2011-05-30
    • 2011-12-28
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多