根据this指南 我尝试将 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);
Loader加载jquery.hoverIntent.js
时出现问题。我下载了here
错误消息:"Type Error: $ is undefined"
答案 0 :(得分:1)
要使用.dialog()
,您还需要包含jQuery UI库。在加载jQuery库后立即放下一行:
loader.loadSubScript("chrome://myext/content/jquery-ui-1.8.18.custom.min.js", wnd);
您可以从here下载的最后一个jQuery UI库。
答案 1 :(得分:0)
这一行:
onLoad: function(e) {
Myext.jQuery = Myext.loadJQuery(window);
},
不应该?
onLoad: function(e) {
Myext.jQuery = loadJQuery(window);
},