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

相關問題