使用jquery 1.3+的Firefox扩展

时间:2009-02-10 14:20:57

标签: jquery firefox-addon

我在我的Firefox扩展中使用了jquery-1.2.6,它运行得很好。几天前我想更新到当前版本的jquery(1.31),但这似乎不再适用了。这是我的技巧,在我的扩展中包含jquery:

$mb = jQuery.noConflict();
var doc = window.content.document
$mb("body", doc).slideToggle("slow");

我知道this页面上描述的技术,但这也不起作用。 那么有没有人在Fi​​refox扩展中使用比jquery-1.2.6更新的版本,可以告诉我怎么做?

2 个答案:

答案 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之后我没有看到分号,我认为这是必要的。