我找到了一个代码,负责打开我需要的弹出窗口:
function winOpen(theURL, Name, popW, popH, scroll) { // V 1.0
var winleft = (screen.width - popW) / 2;
var winUp = (screen.height - popH) / 2;
winProp =
'width='+popW+',height='+popH+',left='+winleft+',t op='+winUp+',scrollbars='+scroll+','
Win = window.open(theURL, Name, winProp)
if (parseInt(navigator.appVersion) >= 4){
Win.window.focus();
}
是否可以在此处包含在窗口关闭时提交的函数,或者是否需要在某处单独调用函数?我在html链接上打开窗口。
答案 0 :(得分:0)
您在弹出窗口中显示的页面可能会有一个事件处理程序附加到body
的{{1}}或onunload
(我认为这只是IE)。如果文档卸载(谁会猜到?),那将触发。如果您没有在文档中删除将要卸载它的链接,您可以将此事件作为窗口已关闭的指示。
第二种可能性:添加看门狗。
onbeforeunload
答案 1 :(得分:0)
您应该稍微缩进代码以使其更具可读性。此外,您可以使用win.closed
查看其已关闭onunload
,但请务必在检查前稍等一下:http://jsfiddle.net/9PYWj/。
function winOpen(theURL, Name, popW, popH, scroll) { // V 1.0
var winleft = (screen.width - popW) / 2,
winUp = (screen.height - popH) / 2,
winProp = 'width=' + popW
+ ',height=' + popH
+ ',left=' + winleft
+ ',top=' + winUp
+ ',scrollbars=' + scroll + ',',
win = window.open(theURL, Name, winProp);
win.onunload = function() {
setTimeout(function() {
if(win.closed) {
alert(123);
}
}, 100);
};
win.focus();
}