3

ドキュメントによると(私はFirefoxのみを使用しています):

https://developer.mozilla.org/en/DOM/window.onunload

ドキュメントがアンロードされると、アンロードイベントが発生します。

しかし、以下の私のコードは、子ウィンドウ(つまり変数名 "win")が閉じられたのではなく、開かれたばかりであってもアラートをトリガーします。

alert("failed but still reload:" + win.isSuccess);

"failed but still reload: undefined"

私の注意は、子ウィンドウが閉じられたときにそのonunloadを呼び出すことです。私はここで何が間違っているのですか?

コード

function showInsertPopup() {
    var ddId = document.getElementById("workRegionDropdown");
    var index = ddId.selectedIndex;
    var workRegionCode = ddId.options[index].value;
    if(workRegionCode != "") {
          var win = window.open(machineFormPopup + "?typeFlag=1&workRegionCode=" + workRegionCode, "window1", "menubar=no, width=700, height=550, toolbar=no");
          win.onunload = function() {
                if(win.isSuccess) {
                      alert("success reload!")
                      getRecordByWorkRegion();
                }
                else {
                      //here gets print out somehow
                      alert("failed but still reload:" + win.isSuccess);
                      getRecordByWorkRegion();
                }
          }//end inner function onunload
     }
 }//end showInsertPopup()

子ウィンドウページには単純なjsがあります。

window.isSuccess = 1;
window.close();
4

1 に答える 1

2

実際には、about:blank最初にポップアップウィンドウに元のドキュメントのアンロードが表示されます。(これは、ウィンドウの場所を確認することで確認できます。)ポップアップウィンドウを閉じると、別のアンロードが表示されます。

于 2011-01-20T20:52:53.993 に答える