私はこの問題に関する多くの投稿を読み、jQueryを含めるためのあらゆる方法を試しました。
jQueryをxulファイルにロードし、それを変数に格納すると、機能します。(Firefox拡張機能でjQueryを使用する方法のように)
jQuery.noConflict();
sbsh.safeWalletUtils.$ = function (selector, context) {
return new jQuery.fn.init(selector, context || doc);
};
sbsh.safeWalletUtils.$.fn = sbsh.safeWalletUtils.$.prototype = jQuery.fn;
ただし、ここで提案する解決策の方がはるかに優れていると思います:http: //forums.mozillazine.org/viewtopic.php? f=19&t=2105087
loadjQuery: function(wnd){
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://clhelper/content/jquery/jquery-1.5.js",wnd);
var jQuery = wnd.jQuery.noConflict(true);
loader.loadSubScript("chrome://clhelper/content/jquery/jquery.hoverIntent.js", jQuery);
return jQuery;
},
ページロードイベントハンドラー内:
var doc = event.originalTarget;
var wnd = doc.defaultView;
// load jQuery and save it as a property of the window
myprivatejQuery = loadjQuery(wnd)
しかし、私はwnd.jQueryを未定義にし続けています..(リンク内の少数の人々もそれが問題であると言いました)
私は何をすべきか?Firefox拡張機能内の競合を心配せずにjQueryを使用するにはどうすればよいですか?