【问题标题】:Modify contents of Firefox download dialog from add-on kit从附加套件修改 Firefox 下载对话框的内容
【发布时间】:2011-10-07 05:52:13
【问题描述】:

我希望能够在开始下载文件时在 Firefox 中弹出的下载对话框中添加一个选项。是否可以使用新的附加 SDK 来做到这一点,还是我必须用旧的方式做到这一点?

edit:显然,如果选择了新选项,我需要一种方法来了解它并基于它执行代码。

【问题讨论】:

    标签: firefox firefox-addon firefox-addon-sdk


    【解决方案1】:

    这就是你会使用XUL overlays 的东西。我猜你正在谈论的对话框是chrome://mozapps/content/downloads/downloads.xul - 下载管理器。 AFAIK 使用附加 SDK 无法做到这一点,它只提供最常见的 UI 集成点。你可以创建一个传统的扩展,但是它可以覆盖任何对话框。

    【讨论】:

    • 不,我指的不是下载管理器——我说的是提示“打开方式...”/“保存在...中”的提示,但我猜它没有没有任何区别。难道每次显示对话框时都不能监听一些事件并注入内容吗?
    • @CAFxX:好的,那就是chrome://mozapps/content/downloads/unknownContentType.xul。手动注入内容会浪费时间,如果在 chrome 清单中指定,叠加层会自动应用。
    • 是的,但是在使用附加 sdk 时内容注入也可以工作,对吧?
    • @CAFxX:不,SDK 只将代码注入内容页面。并不是要以复杂的方式扩展浏览器 UI,只是提供了一堆可能的场景。
    • 其实你可以用插件sdk扩展浏览器UI,如果你已经知道老方法的话,这并不难。插件 sdk 的好处是一旦有人做了某事,他们就会拥有其他人可以重用的模块。
    【解决方案2】:

    据我所知,没有可以帮助您的现有模块,因此您必须创建一个,或者等待其他人制作一个。但扩展浏览器 UI 的主要思想很简单,如下所示:

    1. 加载插件后,扫描您希望扩展的类型的打开窗口。
    2. 通过向页面添加 xul 元素和 javascript 来扩展打开的窗口。
    3. 侦听新打开的窗口,并在打开后测试它们是否是您要查找的类型
    4. 在您的插件处于活动状态时扩展新打开的窗口
    5. 在关闭窗口或禁用/卸载插件时自行清理。

    最后一步是最重要的,对于不是无重启的老式扩展来说无关紧要。

    您可以查看的一些内置模块是小部件模块、上下文菜单模块和热键模块all of which you can find here

    我自己做了几个,分别是工具栏按钮模块、xulkeys 模块、menuitems 模块和其他一些模块,all of which you can find here

    【讨论】:

      【解决方案3】:

      最近我写了一个扩展来做同样的事情。一个引导扩展,不使用 addon-sdk。

      我已经在 AMO 上提交了,但等待审核

      https://addons.mozilla.org/en-US/firefox/addon/download-dialog-tweak/

      还有源码

      https://github.com/muzuiget/download_dialog_tweak

      【讨论】:

        猜你喜欢
        • 2014-12-31
        • 1970-01-01
        • 1970-01-01
        • 2011-09-02
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多