1. 程式人生 > >如何關閉彈出視窗,重新整理父視窗?

如何關閉彈出視窗,重新整理父視窗?

關閉彈出視窗,重新整理父視窗
<script>\r\nopener.location.reload();\r\nwindow.close();\r\n</script>
擴充套件:window.opener.location.href

2個方法都是重新整理父視窗,但是其中還是有奧妙的哦。
      window.opener.location.reload();這個方法在強迫父視窗的時候,在有些IE瀏覽器(比如安全設定高)的情況下,會彈出一個確認對話方塊,提示是不是要重新再重新整理一次頁面,這可是比較鬱悶的事情哦,我後來把這個方法替換成了window.opener.location.href=window.opener.location.href;
就不會出現那樣的問題了。

       window.opener其實是指本視窗的父視窗,比如,one.jsp 通過popupwindow打開了two.jsp,哪麼在two.jsp裡面的window.opener就是指one.jsp,所以在two.jsp裡面完全可以用window.opener呼叫任何一個one.jsp裡面的方法,實現one.jsp和two.jsp的互動。

       注意:window.opener.location.href只是一個連結,如果想實現父視窗的提交就要呼叫window.opener.action="" 和window.opener.submit();方法,但是不幸的是這段程式碼在firefox下不能執行,解決的辦法為在父視窗中寫一個提交的function在子視窗中通過window.opener.functionname()呼叫。

       通常在使用window.opener的時候要去判斷父視窗的狀態,如果父視窗被關閉或者更新,就會出錯,解決辦法是加上如下的驗證if(window.opener && !window.opener.closed)