我在我的Firefox扩展中使用了jquery-1.2.6,它运行得很好。几天前我想更新到当前版本的jquery(1.31),但这似乎不再适用了。这是我的技巧,在我的扩展中包含jquery:
$mb = jQuery.noConflict();
var doc = window.content.document
$mb("body", doc).slideToggle("slow");
我知道this页面上描述的技术,但这也不起作用。 那么有没有人在Firefox扩展中使用比jquery-1.2.6更新的版本,可以告诉我怎么做?
答案 0 :(得分:5)
我找到了解决问题的方法!
我将在此处介绍,以便其他人可以将此作为参考。经过大量的搜索和撕裂我的头发后,我发现了jquery bug跟踪器上的this错误报告。您可以下载jquery 1.3.1 Revision: 6161解决问题的方法(官方1.3.1版本是修订版:6158)。
另一个很棒的技巧是在firefox扩展程序中包含类似jquery的“动态”库。只需在您的扩展程序中的某些javascript文件中包含以下内容:
var jsLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);
jsLoader.loadSubScript("chrome://{appname}/content/jquery-1.3.1_6161.js");
jQuery.noConflict();
//use jquery
var doc = window.content.document;
alert(jQuery("body", doc).html());
更新:今天版本1.3.2已经发布,问题似乎已经解决了!
答案 1 :(得分:1)
在window.content.document
之后我没有看到分号,我认为这是必要的。