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 です)。

発見されたもう1つの優れたトリックは、ライブラリのようなjqueryをFirefox拡張機能に「オンザフライ」で含めることです。拡張機能内の 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 に答える