6

我在我的 Firefox 扩展中使用 jquery-1.2.6 并且效果很好。几天前,我想更新到当前版本的 jquery (1.31),但这似乎不再起作用。这是我在扩展中包含 jquery 的技术:

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

我知道页面上描述的技术,但这也不起作用。那么这里有没有人在 Firefox 扩展中使用比 jquery-1.2.6 更新的版本并且可以告诉我如何?

4

2 回答 2

5

我找到了解决我的问题的方法!

我将在这里介绍它,以便其他人可以将其用作参考。经过大量搜索和撕裂我的头发后,我在 jquery 错误跟踪器上找到了这个错误报告。您可以在那里下载jquery 1.3.1 Revision: 6161来修复问题(官方 1.3.1 版本是 Revision: 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 版本,问题似乎解决了!

于 2009-02-12T21:33:47.713 回答
1

没看到分号后window.content.document,觉得有必要。

于 2009-02-11T16:49:07.537 回答