【问题标题】:Firefox extension with jquery 1.3+带有 jquery 1.3+ 的 Firefox 扩展
【发布时间】:2009-02-10 14:20:56
【问题描述】:

我在我的 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 更新的版本并且可以告诉我怎么做?

【问题讨论】:

  • 详细阅读有关在 firefox 扩展中安全使用 jquery 而不会与其他插件发生冲突的详细信息:meherranjan.com/blog/…

标签: jquery firefox-addon


【解决方案1】:

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

我将在这里展示它,以便其他人可以将其用作参考。经过大量搜索和撕扯我的头发后,我在 jquery 错误跟踪器上找到了this 错误报告。您可以在那里下载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版本,问题似乎解决了!

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 不,jquery-1.3+ 即使使用分号也不起作用。正如我所说,它适用于 jquery-1.2.6(即使没有任何分号)。肯定还有问题……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多