2013-03-15 134 views
1

我想重新加载父窗口,如果子窗口关闭。JavaScript的 - 重新加载父窗口,如果子窗口关闭

这是我当前的代码,它打开一个弹出窗口,但它在关闭时没有为刷新父窗口编程。我不知道什么样的代码添加

jQuery(document).ready(function($) { 

    jQuery('.top-buttons a').live('click', function(e){ 
     e.preventDefault(); 
     newwindow=window.open($(this).attr('href'),'','height=500,width=850'); 

     if (window.focus) {newwindow.focus()} 
     return false; 
    }); 
}); 
+1

所以,你在哪里卡住了? – 2013-03-15 05:36:07

+0

仔细阅读问题,我需要一个刷新父窗口,如果孩子关闭的代码 – user007 2013-03-15 05:38:49

+0

它很难从原始问题中解决它。现在编辑它说如此。 – 2013-03-15 05:40:14

回答

2

尝试:

newwindow = window.open($(this).attr('href'), '', 'height=500,width=850'); 
newwindow.onbeforeunload = function() { 
    console.log("popup closed") 
} 
+1

它工作,完美。谢谢 – user007 2013-03-15 05:43:35

0
在父窗口

这样定义

function doStuffOnUnload() { 
    alert("Unloaded!"); 
    } 

if (typeof win.attachEvent != "undefined") { 
    newwindow.attachEvent("onunload", doStuffOnUnload); 
} 
else if (typeof win.addEventListener != "undefined") { 
    newwindow.addEventListener("unload", doStuffOnUnload, false); 
    } 

here我把它从

0

您卸载事件需要window.opener

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

应该被添加到窗口的关闭事件中。当你处理关闭事件example

所以重载父窗口只需调用window.opener.location.reload()documentation

+0

正如其他用户所建议的location.reload()也会让你在那里。 – hammus 2013-03-15 05:43:27

1

您可以从子窗口中使用window.opener访问父窗口。

1

尝试在子窗口

 window.opener.location.reload(); 
相关问题