ドキュメントによると(私は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();