Firefox扩展中的jQuery.hoverIntent.js未加载

Firefox扩展中的jQuery.hoverIntent.js未加载,jquery,firefox-addon,hoverintent,Jquery,Firefox Addon,Hoverintent,根据指南 我尝试将JQuery加载到我的Firefox扩展中 var Myext = { loadJQuery: function(wnd) { var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"] .getService(Components.interfaces.mozIJSSubScriptLoader); loader.loadSubScript("c

根据指南 我尝试将JQuery加载到我的Firefox扩展中

var Myext = {

  loadJQuery: function(wnd) {
      var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
        .getService(Components.interfaces.mozIJSSubScriptLoader);
      loader.loadSubScript("chrome://myext/content/jquery-1.7.2.min.js", wnd);
      var jQuery = wnd.jQuery.noConflict(true);
      try {
        loader.loadSubScript("chrome://myext/content/jquery.hoverIntent.js", jQuery);
      catch (Except) {
        alert(Except.toString());
      }
      return jQuery;
  },

  onLoad: function(e) {
    Myext.jQuery = Myext.loadJQuery(window);
  },

  showDialog: function(e) {
    var $ = Myext.jQuery;
    /* JQuery code */
  }

}

window.addEventListener("load", function(e) { Myext.onLoad(e); }, false);
window.addEventListener("DOMContentLoaded", function(e) { Myext.showDialog(e); }, false);
加载程序在加载jquery.hoverIntent.js时出现问题。我下载了它


错误消息:
“类型错误:$is undefined”

要使用
.dialog()
,您还需要包括库。加载jQuery库后,将下一行放在右边:

loader.loadSubScript("chrome://myext/content/jquery-ui-1.8.18.custom.min.js", wnd);
您可以从中下载的最后一个jQuery UI库。

此行:

onLoad: function(e) {
    Myext.jQuery = Myext.loadJQuery(window);
  },
不应该吗

onLoad: function(e) {
    Myext.jQuery = loadJQuery(window);
  },

我已经完成了,但是仍然看不到对话框。我只将文件
jquery-ui-1.8.18.custom.min.js
复制到了
myext/content
目录。jquery似乎没有任何功能。当我将对话框函数替换为
$(“a”)。单击(函数(){alert(“Hello world!”;})单击链接时我看不到消息。您在哪里有
文本
?它应该是选项卡中html页面DOM的一部分。您可能还需要添加smth。例如
$(“#dialog”,gBrowser.contentDocument).dialog()
。。。同时检查错误控制台(
Ctrl
+
Shift
+
J
),不要忘记在每次更改后重新启动Firefox。我使用对话框删除了代码,只尝试了我以前评论中的代码。我是否可以在没有
#dialog
id的元素的情况下打开该对话框?我想在活动中打开它。对我来说,一切看起来都很好,检查一下。也许,jQuery UIjQuery.noConflict()也有同样的问题;var doc=window.content.document;警报(jQuery(“body”,doc.html());我试过了,但没用。我认为,您应该参考名称空间。