Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在FF 11中加载jquery UI时出现错误:“:”;TypeError:a未定义;_Javascript_Jquery_Jquery Ui_Firefox Addon - Fatal编程技术网

Javascript 在FF 11中加载jquery UI时出现错误:“:”;TypeError:a未定义;

Javascript 在FF 11中加载jquery UI时出现错误:“:”;TypeError:a未定义;,javascript,jquery,jquery-ui,firefox-addon,Javascript,Jquery,Jquery Ui,Firefox Addon,我正在ff扩展中使用jquery(ui)。在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.jQu

我正在ff扩展中使用jquery(ui)。在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库。 Jquery正在加载,但未加载“chrome://myext/content/js/jquery.ui.core.min.js并给出错误“TypeError:a未定义”


任何帮助都将受到感谢

我也有类似的错误,但将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);

加载非精简版本时是否会出现更好的错误?为什么要将jQuery对象传递到调用中?这是否需要更改UI代码才能工作?我想您的意思是希望它在包装函数调用中使用的jQuery参数成为您的jQ,但如果这是实现它的语法,我会感到惊讶。如果您将它加载到
wnd
,它能工作吗?不,使用wnd它不能工作。这也是在扩展中加载jquery的标准方法。是的,请尝试非缩小版。同时将
alert()
替换为
Components.utils.reportError(除外)
-您将在错误控制台中看到正确的错误消息和行号,然后您(和我们)就不需要猜测了。@WladimirPalant我有类似的问题。我的错误消息是“类型错误:$未定义”。火狐8.0版。和Components.utils.reportError(除外)在错误控制台中不打印任何内容。我正在尝试加载从下载的jquery.hoverIntent.js,所以,loadSubScript的Dinesh位置是错误的?为什么它应该是另一种方式,以及您将如何更改它?嗯,我并不完全清楚,但是:当我出现错误(“类型错误:$is undefined”)时,loadSubScript行正好位于var jQuery行的下方。我在本地定义$之后移动了它,然后它就工作了。我对loadSubScript的工作原理没有深入的了解,也不知道它是如何管理作用域的,但似乎将该行放在$declarations之后会给插件的作用域增加$s。也许有比我更专业的人会澄清这一点,但我可以告诉你,它现在正在发挥作用。。。对于Dinesh来说可能是一样的,即使使用不同的插件。嗨,我试过使用jQueryUI,但它不起作用。。。因此,在这种情况下,我的解决方案不是很好。