在FF 11中加载jquery UI会出现错误::“TypeError:a is undefined”

时间:2012-03-28 11:50:46

标签: javascript jquery jquery-ui firefox-addon

我在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”

任何帮助都会得到满足。

1 个答案:

答案 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);