热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从附加工具包修改Firefox下载对话框的内容-ModifycontentsofFirefoxdownloaddialogfromadd-onkit

Idliketobeabletoaddanoptiontothedownloaddialogthatpops-upinFirefoxwhenstartinga

I'd like to be able to add an option to the download dialog that pops-up in Firefox when starting a file download. Is it possible to do so using the new add-on SDK or do I have to do it the old way?

我希望能够在启动文件下载时在Firefox中弹出的下载对话框中添加一个选项。是否可以使用新的附加SDK执行此操作,还是必须以旧方式执行此操作?

edit: Obviously, if the new option is selected, I need a way to know it and execute code based on it.

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

3 个解决方案

#1


1  

That's something you would use XUL overlays for. I guess that the dialog you are talking about is chrome://mozapps/content/downloads/downloads.xul - the download manager. AFAIK doing this isn't possible with the Add-on SDK, it only provides the most common UI integration points. You could create a traditional extension however, it can overlay any dialog.

这是你将使用XUL叠加的东西。我想您正在谈论的对话框是chrome://mozapps/content/downloads/downloads.xul - 下载管理器。使用Add-on SDK无法实现AFAIK,它只提供最常见的UI集成点。您可以创建传统扩展,但它可以覆盖任何对话框。

#2


1  

There is no existing module that will help you that I know of, so you would have to create one, or wait for one to be made by someone else. But the main idea to extending browser UI is simple, and goes like this:

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

  1. When the addon is loaded, scan for open windows of the type that you wish to extend.
  2. 加载插件后,扫描要扩展的类型的打开窗口。
  3. extend the open windows by adding xul elements and Javascript to the page.
  4. 通过向页面添加xul元素和Javascript来扩展打开的窗口。
  5. listen for newly opened windows, and test that they are the type that you are looking for once they open
  6. 听取新打开的窗口,并测试它们是打开后要查找的类型
  7. extend newly opened windows while your addon is active
  8. 在您的插件处于活动状态时扩展新打开的窗口
  9. Clean up after yourself when windows close or when your addon is disabled/uninstalled.
  10. 当Windows关闭或禁用/卸载插件时,请自行清理。

The last step is the most important and never matter with old school extensions which were not restartless.

最后一步是最重要的,对于没有重新启动的旧学校扩展永远不重要。

Some for the built-in modules that you can look at that do this are the widget module, the context menu module, and the hotkeys module, all of which you can find here.

您可以查看的内置模块的一些功能是窗口小部件模块,上下文菜单模块和热键模块,您可以在此处找到所有这些模块。

I've made a couple myself which are the toolbar button module, the xulkeys module, the menuitems module, and a few others, all of which you can find here.

我自己做了几个工具栏按钮模块,xulkeys模块,menuitems模块和其他一些,你可以在这里找到所有这些。

#3


0  

Recently I wrote an extension do the same things. A bootstrap extension, not using addon-sdk.

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

I already submit it on AMO, but wait for review

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

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

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

And the source code

和源代码

https://github.com/muzuiget/download_dialog_tweak

https://github.com/muzuiget/download_dialog_tweak


推荐阅读
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文介绍了一种利用Dom4j库和JFileChooser组件在Java中实现XML文件自定义路径导出的方法。通过创建一个Document对象并设置根元素,结合JFileChooser选择目标路径,实现了灵活的XML文件导出功能。具体步骤包括初始化Document对象、构建XML结构以及使用JFileChooser选择保存路径,确保用户能够方便地将生成的XML文件保存到指定位置。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 为了实现跨浏览器兼容的禁用文本选择功能,可以通过在全局CSS样式中定义一个特定的类来禁止用户选中文本。具体做法是在全局样式表中添加一个名为 `.no-select` 的类,并在需要禁用文本选择的元素上应用该类。这样可以确保在不同浏览器中都能达到一致的效果。此外,还可以结合JavaScript进一步增强用户体验,例如在某些交互场景下动态启用或禁用文本选择功能。 ... [详细]
  • 在MFC开发过程中,利用Windows内置的文件对话框可以显著提高文件操作的效率。本文总结了使用文件对话框进行文件选择和处理的经验,详细介绍了相关API的调用方法和参数设置,如`CFileDialog`类的使用、结构体`OPENFILENAME`的配置以及如何获取选中的文件路径。通过这些技巧,开发者可以快速实现文件的打开、保存等功能,提升应用程序的用户体验。 ... [详细]
author-avatar
狸花殿并
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有