0

У меня есть расширение Google Chrome, которое открывает диалоговое окно Bootstrap Twitter (используя JQuery 1.7.x, но не JQueryUI) из контекстного меню, нажмите, и я пытался сделать то же самое в версии Firefox (с использованием Add-on SDK 1.6), но безрезультатно.Окно диалога JQuery/Bootstrap из контекстного меню

я могу перехватить пункт меню нажимает кнопку ОК в моем lib/main.js, используя context-menu, но я не могу получить сообщение для сценария содержимого (см https://stackoverflow.com/a/8493844/954442), который содержит функцию, которая создает диалоговое DOM и отображает его. Я также не могу создать диалог из моего сценария добавления, потому что там нет DOM (и попытка загрузить JQuery с помощью @mozilla.org/moz/jssubscript-loader;1 с ошибкой «окно не определено»)

Я смотрел далеко и широко для примеров, но не нашли много того, что помогает. Кто-нибудь получил пример 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

+0

Короче говоря, да. Я получаю клики меню уже в дополнительном скрипте, но должен иметь возможность вызвать скрипт содержимого, чтобы вставить мой диалог в DOM содержания. –

ответ

0

Ok, поэтому я считаю, что вы хотите сделать что-то вроде этого:

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

в основном вы добавляете contentScriptFile опору erty в контекстное меню Item. Скрипт содержимого не передает переменную js со страницей, однако может иметь доступ к DOM. Таким образом, вы можете добавить свою панель и отобразить ее, когда щелкнут элемент контекстного меню.

Обратите внимание, что вы можете перейти на contentScriptFile несколько файлов, используя Array, чтобы вы могли также загрузить jQuery.

Надеюсь, это поможет.

+0

На самом деле все было так просто. Ключевым битом было добавление 'self.on (« click », function() {myShowDialogFunc()})' к моему сценарию содержимого. Теперь, когда «Item» в контекстном меню загружает JQuery, Bootstrap.min.js и мой контент-скрипт через 'contentScriptFile', нет необходимости в обработке кликов или событий в моем дополнительном скрипте, который является более чистым, чем Я думал, что так будет. –

+1

Приятно слышать! В будущем может помочь вам узнать, что в IRC (сервер 'irc.mozilla.org) есть канал' # jetpack' с разработчиками Add-on SDK и Builder Mozilla; и активный [список рассылки] (https://groups.google.com/forum/?fromgroups#!forum/mozilla-labs-jetpack). – ZER0

Смежные вопросы