【问题标题】:Creating menus in browser menubar from Add-on SDK extension通过附加 SDK 扩展在浏览器菜单栏中创建菜单
【发布时间】:2011-08-22 13:35:48
【问题描述】:

我正在使用 Add-on SDK 1.0 构建一个简单的 Firefox 扩展。

搜索文档和谷歌搜索很多,我找不到在浏览器的工具菜单下创建简单菜单的方法。附加 SDK 有一个 context-menu 模块,它(显然)只处理页面上下文菜单,这不是我想要的。是不是 Add-on SDK 还没有这个模块?如果是这样,我相信我可以在 Add-on SDK 扩展中访问所有 firefox 的 XPCOM API,但我不知道如何使用它并在工具菜单下创建一个简单的菜单条目。

关于我如何做到这一点的任何指示?

(顺便说一句,不确定这个问题的标签,如果你觉得这样,请更正)

【问题讨论】:

  • 我不认为 Jetpack 有这个功能,它只允许与现有 UI 进行有限的交互。
  • 我什至不能访问浏览器的文档对象,如果我可以访问它,也许我可以修改它。现在把这个扩展变成一个非喷气背包会很痛苦:/
  • 我认为 Jetpack 扩展在一个单独的进程中运行,这排除了访问 DOM(如果他们不这样做,那么它计划在不久的将来)。
  • Jetpack 的 addon-kit api 目前不允许您与浏览器 DOM 和菜单交互,除非您对上下文菜单说,但是要求 chrome 和任何 Firefox 的较低版本是完全有效的通过 JS 代码插入 Xul 节点的级别 api。
  • @canuckistani,“需要 chrome”,您的意思是有一个名为 chrome 的 jetpack sdk 模块可以访问“任何 Firefox 的较低级别的 api”吗?我找不到任何关于此的文档(即使在插件 sdk 中我也找不到它)。您能否就此提供一些指示(当然作为答案)。

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


【解决方案1】:

我编写了一个名为menuitems 的模块,可以使用它轻松地将单个菜单项添加到任何普通菜单栏项。 It's on github here.

我还没有时间写文档,但是you can find an example herethe example is on AMO here

我会在这些日子里写一篇关于它的博客..

【讨论】:

  • 那里有很棒的东西!我在我的项目中尝试了这个包,但是require("unload+") 抛出了ModuleNotFoundError。我看到 package.json 文件中列出了两个依赖项,api-utilsvold-utils。我在哪里可以得到这些? ...对不起,如果这很明显,我只是从喷气背包开始:)。感谢您的回答。
  • 我应该更清楚在哪里可以找到vold-utils,但这里是github.com/erikvold/vold-utils-jplib 和 api-utils 内置在 Addon SDK 中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-24
相关资源
最近更新 更多