0

主にツールバーになるFirefoxアドオンを開発していますが、設定などのためのダイアログ/ウィンドウがいくつかあります。

で、browser.xulすべての変数を格納するグローバル変数を宣言します。

var coolAddon = {};

coolAddon次に、ツールバーで、ボタンのクリックなどでのメソッドを呼び出せるようにしたいと考えています。

からダイアログを開くと、ダイアログでを使用してbrowser.xulアクセスできます。これはうまく機能します。問題は、これがツールバーでは機能せず、ウィンドウ/ダイアログでのみ機能することです。ツールバーで何が起こるかというと.coolAddonwindow.opener.coolAddonwindow.openernull/undefined

ツールバー内から でcoolAddon宣言されているものにアクセスするにはどうすればよいですか? browser.xul現在のプロパティ値を保持する必要があるため、再宣言したくありません (私の例には現在、プロパティやメソッドがないことに気付きました)。

4

1 に答える 1

2

ツールバーから直接 coolAddon にアクセスできるはずです。これはブラウザのコンテキストにあります。

Window.opener は、まったく別のウィンドウにいる場合にのみ必要です。

于 2012-07-04T14:56:03.070 に答える