1

ウィンドウをポップアップしてから閉じる必要がある拡張機能があります。

 var my_extension = {
    window: null,
    popup: function(){
       my_extension.window = window.open(...)
    },
    close: function(){
       my_extension.window.close()
    }
 }

ポップアップはclose関数を呼び出します。ただし、開いた状態から戻った後、my_extension.windowはnullになります。ポップアップで設定されていることを確認します。ポップアップが戻ったときにmy_extensionの別のインスタンスが作成されますか?

4

1 に答える 1

0

my_extensionは、ポップアップではなく、メインのブラウザウィンドウで定義されます。ポップアップ自体からポップアップを閉じるには、window.closeを使用します。

編集:わかりました、それで私はmy_extension.close実際に次のように見えると思います:

function() {
  // check input from popup window
  if (everythingIsGood) {
    my_extension.window.close()
  }
}

その場合は、ポップアップ自体でその検証を行うことをお勧めします。私は知っている、あなたはポップアップウィンドウにたくさんのコードを入れたくない。そして、私は同意します。ただし、ポップアップを開いたときに、検証を行うために必要な情報を渡すことができます(検証関数の受け渡しも含まれます。JavaScriptはそのように優れているため、関数もオブジェクトであることを忘れないでください)。window.argumentsこのページでの議論を探してください: https ://developer.mozilla.org/en/DOM/window.openDialog

于 2010-11-22T16:34:47.073 に答える