如何刷新彈出窗口父窗口,關閉彈出窗口

關閉彈出窗口,刷新父窗口
<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)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章