0

fastFindインターフェイス(基本的には検索バー)を使用(悪用?)する拡張機能があります。具体的には_find、 および_findAgain関数を使用して、特定の Web ページ内で特定の用語を実際に検索します。私の拡張機能は、最後に実行された検索を追跡する必要があります。Firefox 24 以前で行った方法は次のとおりです。

var cachedFindTerm = getBrowser().fastFind.searchString;

ただし、Firefox 25 の時点でfastFind、ブラウザー オブジェクトのプロパティは存在しないようです。そのため、検索バーの検索文字列にアクセスする方法がありません。_find次のことを試しましたが、または_findAgain関数を使用して検索した後でも、空が返されます。

var findBar = getBrowser().getFindBar();
var cachedFindTerm = findBar._findField.value; // This is always blank!

Firefox 25 の検索バー インターフェイスで使用されていた以前の検索文字列を取得するより良い方法はありますか? 確かに明らかなものは何も見えません...

4

1 に答える 1

1

_「API」(または、どのリリースでも変更されないことが保証されていないプライベート メソッド、プレフィックス付きメソッド) を使用する場合、_findFieldは更新されません。

新しい値を自分で入力する必要があります。

次のようなもの:

gFindBar._find(gFindBar._findField.value = term);
于 2013-11-01T16:03:17.687 に答える