根据文档(我只使用 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();
答案 0 :(得分:2)
您实际上首先会在弹出窗口中看到原始about:blank
文档的卸载。 (您可以通过查看窗口的位置来验证这一点。)然后,当弹出窗口关闭时,您应该看到另一个卸载。