Firefox “如何访问”;用“保存”打开;对话框以捕获下载链接?

Firefox “如何访问”;用“保存”打开;对话框以捕获下载链接?,firefox,firefox-addon-sdk,xul,preference,Firefox,Firefox Addon Sdk,Xul,Preference,我注意到:如果Mozilla Firefox用户单击下载链接(EX:),将弹出以下“打开/保存”对话框窗口: 我用Python编写了名为rd的下载管理器,因此我需要: 捕获Firefox的下载链接 将其发送到我的下载管理器 我希望通过以下任何方法实现这一目标: 在该对话框中添加复选框,使用户可以在此链接中使用我的下载管理器(如DTA和FlashGet添加复选框) 侦听该事件(保存对话框弹出) 将名为rd的我的下载管理器添加为除html以外的任何文件类型的默认应用程序,但我们应该让用户能够添加

我注意到:如果Mozilla Firefox用户单击下载链接(EX:),将弹出以下“打开/保存”对话框窗口:

我用Python编写了名为
rd
的下载管理器,因此我需要:

  • 捕获Firefox的下载链接

  • 将其发送到我的下载管理器

  • 我希望通过以下任何方法实现这一目标:

    • 在该对话框中添加复选框,使用户可以在此链接中使用我的下载管理器(如DTA和FlashGet添加复选框)
    • 侦听该事件(保存对话框弹出)
    • 将名为rd的我的下载管理器添加为除
      html
      以外的任何文件类型的默认应用程序,但我们应该让用户能够
      添加到文件类型发送到我的应用程序的
      中或从中删除文件类型

    这由Firefox的MIME类型处理来处理,可以通过编辑来配置。我不认为有一种方法可以处理除特定类型之外的所有类型,相反,似乎你必须为你希望处理的每种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的首选项(首选项->应用程序)中启用。

    安装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
    中找到它们。这个链接可能有助于查找配置文件目录。