1

Firefox アドオンを開発していますが、Mozilla Addon SDK を使用してツールバーの検索ボックスの内容を取得する方法を知りたいですか? 私は最終的にそれが存在するクロムURLを見つけました(少なくとも私は思う:chrome://browser/content/search/...)が、これを参照してコンテンツを取得する方法についてはまだ少しわかりません私のアドオンに検索ボックス。試してみdocument.getAnonymousElementByAttribute(this, "anonid", "searchbar-textbox");ましたが、「ドキュメントが定義されていません」というエラーが表示されます。これはおそらく、Firefox が「searchbar-textbox」が何であるかを認識しておらず、これがアドオンの範囲外 (別の「ドキュメント」内) にあるためです。私はアドオン開発に比較的慣れていないので、おそらくこれを行うためのかなり簡単な方法があります。この解決策は私には知られていないだけです。ありがとう。

4

1 に答える 1

2

「メイン」モジュール (および他の lib/ モジュール) にはドキュメントが添付されていません。まず、関数などの低レベル API を使用window/utils .getMostRecentBrowserWindow()して、アクティブなブラウザー ウィンドウの DOMWindow を取得する必要があります。その後は、#searchbar要素を取得してプロパティをチェックするだけです.value(XBL を介して公開されます)。

完全な例:

const {getMostRecentBrowserWindow} = require("window/utils");

require("sdk/widget").Widget({
  id: "log-search-field",
  label: "Log Search Field",
  contentURL: "http://www.mozilla.org/favicon.ico",
  onClick: function() {
    let win = getMostRecentBrowserWindow();
    console.error("Search text: " + win.document.getElementById("searchbar").value);
  }
});
于 2013-10-14T20:58:05.873 に答える