javascript - Javascript - 检查弹出窗口是否关闭

53 0

我打开一个弹出窗口


var popup = window.open('...', '...');



此javascript在控件中定义,然后,从网页使用此控件,

基本上用户需要在弹出窗口中输入一些面值并提交,这些名称然后存储在用户会话中,

我尝试


var popup = window.open('...','...');


if (popup) {


 popup.onClose = function () { popup.opener.location.reload(); }


}




if (popup) {


 popup.onclose = function() { 


 alert("1.InsideHandler");


 if (opener && !opener.closed) { 


 alert("2.Executed.");


 opener.location.reload(true); 


 } else { 


 alert("3.NotExecuted.");


 }


 }


}



时间: 原作者:

108 1

这是我的建议。

在弹出窗口中,你应该有:


<script type="text/javascript">



function reloadOpener() {


 if (top.opener && !top.opener.closed) {


 try {


 opener.location.reload(1); 


 }


 catch(e) {


 }


 window.close();


 }


}


window.onunload=function() {


 reloadOpener();


}


</script>




<form action="..." target="hiddenFrame">


</form>


<iframe style="width:10px; height:10px; display:none" name="hiddenFrame" src="about:blank"></iframe>



然后在服务器进程中返回


<script>


 top.close();


</script>



旧建议

弹出窗口中没有名为popup的变量。


var popup = window.open('...','...');


if (popup) {


 popup.onclose = function () { opener.location.reload(); }


}



或者通过测试:


popup.onclose = function () { if (opener && !opener.closed) opener.location.reload(); }



PS :并非所有浏览器都支持onClose

原作者:
102 2

尝试这个:


window.opener.location.reload(true);



或者

关闭前进入弹出窗口


window.opener.location.href = window.opener.location.href;


window.close();



原作者:
140 2

创建一个方法“ setWindowObjectInParent”,然后在弹出窗口中调用它,


function setWindowObjectInParent(obj)


{


popupwindow = obj;


}



现在你有了一个可以调用焦点的对象。

所以在弹出添加


$(window).unload(function(){


window.opener.setWindowObjectInParent();


});


window.opener.setWindowObjectInParent(window);



这将在关闭弹出窗口时取消设置obj,而在打开弹出窗口时设置该对象。

因此,你可以检查你的弹出是否定义,然后调用焦点。

原作者:
...