Добавление узла с jQuery в расширение Firefox - PullRequest
1 голос
/ 19 сентября 2010

Я подозреваю, что jQuery не работает нормально в моем расширении ... Я использую версию 1.3.2, загруженную со следующими строками:

var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
              .getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myext/content/lib/jquery.js", myext);

Моя проблема в том, что при запуске следующих строк, одна из которых помечена как 1, работает, 2 вызывает загадочную ошибку "L is null", связанную с jQuery:

jQuery.noConflict();
$ = function(selector,context){ return new jQuery.fn.init(selector,myext.doc); };
$.fn = $.prototype = jQuery.fn;
$().ready(function() {
   $("menuitem#a").attr("label","Value set by jQuery!");             // 1
   $("menupopup#listacorsi").append("<menuitem label='newnode!'/>"); // 2

});

Я предположил, что вторая строка должна быть хороша для добавления дочернего узла к элементу #listacorsi. menuitem # a является потомком #listacorsi. Не могли бы вы помочь мне понять, что не так с моим кодированием?

Спасибо и всего наилучшего,

Ливио

1 Ответ

0 голосов
/ 27 сентября 2010

Вы должны ссылаться на переменную $ следующим образом:

$("body",window.content)

Кроме того, я также использовал jQuery в моем расширении Firefox, оно работает без проблем.

...