0

我有一个谷歌浏览器扩展程序,它从上下文菜单项点击打开Twitter引导程序对话框(使用JQuery 1.7.x,但不是JQueryUI),我一直在尝试做在Firefox版本(使用附加SDK 1.6)中也是如此,无济于事。Оpen从上下文菜单中选择JQuery/Bootstrap对话框

我可以拦截菜单条目点击我lib/main.js OK,使用context-menu,但我不能得到一个消息,内容脚本(见https://stackoverflow.com/a/8493844/954442),它包含创建对话框DOM和显示它的功能。我也不能从我的附加脚本创建对话框,因为那里没有DOM(并且试图通过@mozilla.org/moz/jssubscript-loader;1加载JQuery到失败,因为“窗口未定义”)

我已经看过很多例子,但没有发现太多的帮助。有没有人有一个context-menu项目点击打开对话框的例子?

What are the advantages/disadvantages of using the Add-on SDK to develop my Firefox extension?是我发现我的问题,最近的事情。我得到的印象海报找到了答案,最终,却没有更新的问题说的是什么。)

(NB。我不准备考虑XUL,也很不愿意回去jQueryUI的)

+0

让我明白:你想要添加一个上下文项目,当项目被点击时,在当前页面显示一个“DOM made”面板/对话框。那是对的吗?请注意,您的附加代码中没有DOM,但是您在内容脚本中附加了DOM。 – ZER0 2012-04-21 17:21:15

+0

总之,是的。我已经在附加脚本中获得了菜单点击,但需要能够调用内容脚本来将我的对话框插入到内容DOM中。 – 2012-04-21 17:51:47

回答

0

好了,我相信你想要做这样的事情:

https://builder.addons.mozilla.org/addon/1049738/latest/

基本上你添加一个contentScriptFile道具你的上下文菜单的Item。内容脚本不会与页面共享js变量,但可以访问DOM。因此,您可以添加面板并在单击上下文菜单项时显示它。

请注意,您可以使用数组传递给contentScriptFile多个文件,因此您也可以通过这种方式加载jQuery。

希望它有帮助。

+0

其实它就这么简单。关键的一点是将'self.on(“click”,function(){myShowDialogFunc()})'添加到我的内容脚本中。现在我的上下文菜单的Item通过'contentScriptFile'加载了JQuery,Bootstrap.min.js和我的内容脚本,因此我的附加脚本不需要任何点击或事件处理,我想象它会是。 – 2012-04-21 19:37:16

+1

好听!未来可能会帮助你知道在IRC(服务器'irc.mozilla.org')中有一个'#jetpack'通道,它具有Add-on SDK和Builder Mozilla开发人员;和一个活跃的[邮件列表](https://groups.google.com/forum/?fromgroups#!forum/mozilla-labs-jetpack)。 – ZER0 2012-04-21 19:44:43

相关问题