我在ff扩展名中使用jquery(ui)。一切正常,直到10月10日。
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myext/content/js/jquery-1.7.2.js",wnd);
var jQ = wnd.jQuery.noConflict(true);
try {
loader.loadSubScript("chrome://myext/content/js/jquery.ui.core.min.js", jQ);
} catch (Except){
alert(Except.toString());
}
在FF 11中,此代码无效。 根据上面的代码,我试图加载jquery然后加载jquery ui libs。 Jquery正在加载,但它没有加载“chrome://myext/content/js/jquery.ui.core.min.js”并给出错误“TypeError:a is undefined”
任何帮助都会得到满足。
答案 0 :(得分:2)
我遇到了类似的错误,但将loadSubScript放在这个位置对我有用:
//load jQuery
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myext/content/lib/jquery-1.7.2.js",context);
var jQuery = window.jQuery.noConflict(true);
if( typeof(jQuery.fn._init) == 'undefined') { jQuery.fn._init = jQuery.fn.init; }
var $ = function(selector,context){ return new jQuery.fn.init(selector,context||myext.doc); };
$.fn = $.prototype = jQuery.fn;
myext.jQuery = jQuery;
myext.$ = $;
loader.loadSubScript("chrome://myext/content/lib/jquery.tablesorter.js",jQuery);