我在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更高的版本,并且可以告诉我如何?
最佳答案
我为我的问题找到了解决方案!
我将在这里介绍它,以便其他人可以以此为引用。经过大量搜索和梳理我的头发后,我在jquery bug跟踪器上发现了this bug报告。您可以在此处下载jquery 1.3.1 Revision: 6161来解决问题(官方的1.3.1版本是修订版:6158)。
发现的另一个很棒的技巧是在firefox扩展中包括类似库的jquery“on the fly”。只需在扩展程序中的某些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版,该问题似乎已解决!
关于jquery - 带有jQuery 1.3+的Firefox扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/532507/