3

FirefoxのアドオンSDK(v1.10)で拡張機能を開発しています。

私の拡張機能には、アクティブなタブの内容に基づいて左側に小さなバッジを更新するツールバーボタンがあります。

問題

複数のウィンドウが開いている場合、同じウィンドウ上にあるかどうかに関係なく、ツールバーボタンはアクティブなタブの値に更新されます。これは、非アクティブなウィンドウのツールバーボタンが別のウィンドウからのデータで更新されていることを意味します。

データの取得元からタブオブジェクトにアクセスできますが、タブがアタッチされているウィンドウオブジェクトを識別する方法はありますか?

ここで説明するこの方法の反対になります。

4

2 に答える 2

3

SDKソースコード(つまりpackages/api-utils/lib/tabs/tab.js)を見ると、tabオブジェクトには実際にはwindowプロパティがあります。私はそれをテストしました、そしてこれは確かに働きます:

console.log(require("tabs").activeTab.window.title);

このプロパティがドキュメント化されていない理由がわからない、おそらくドキュメントのバグ。

于 2012-09-28T05:45:00.397 に答える
1

これはアクティブなウィンドウになりますか?を使用して、現在アクティブなウィンドウのウィンドウオブジェクトを取得できます。

windows.browserWindows.activeWindow

ドキュメント:https ://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/windows.html#browserWindows

ウィンドウオブジェクトには、現在開いているタブのリストがあります。

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/windows.html#tabs

現在アクティブなタブまたはウィンドウではないウィンドウ内のタブを見つける必要がある場合、それを判断するのはより難しいかもしれません。あなたが実際にやろうとしていることについてもっと詳しく教えていただけますか?

于 2012-09-26T22:20:24.353 に答える