如何使用和關閉onbeforeunload 默認的瀏覽器彈窗事件


Onunload,onbeforeunload都是在刷新或關閉時調用,可以在<script>腳本中通過 window.onunload來指定或者在<body>里指定。區別在於onbeforeunload在onunload之前執行,它還可 以阻止onunload的執行。

  Onbeforeunload也是在頁面刷新或關閉時調用,Onbeforeunload是正要去服務器讀 取新的頁面時調用,此時還沒開始讀取;而onunload則已經從服務器上讀到了需要加載的新的頁面,在即將替換掉當前頁面時調用。Onunload是無 法阻止頁面的更新和關閉的。而 Onbeforeunload 可以做到。
觸發於:
  ·關閉瀏覽器窗口 
  ·通過地址欄或收藏夾前往其他頁面的時候 
  ·點擊返回,前進,刷新,主頁其中一個的時候 
  ·點擊 一個前往其他頁面的url連接的時候 
  ·調用以下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. 
  ·當用window open打開一個頁面,並把本頁的window的名字傳給要打開的頁面的時候。 
  ·重新賦予location.href的值的時候。 
  ·通過input type=”submit”按鈕提交一個具有指定action的表單的時候。 
  可以用在以下元素:
  ·BODY, FRAMESET, window

要想定制自己的一套瀏覽器關閉彈窗的內容,只需要在return 里面,return出來你需要的編寫的內容即可。但是基本的框架的內容不會改變

window.onbeforeunload = function (e) {
        return (e || window.event).returnValue = '您正在學習中,繼續此操作將不記錄學時,保留學時請簽退!';
    };
}

 

 

要是想關掉默認的瀏覽器的退出的彈窗,只需要在函數體什么都不寫就可以了。

由此可見,除了在火狐下,其他的瀏覽器在彈出的確認框的時候都會顯示你return的內容。如果你不寫return的話,瀏覽器會判斷你是一個undefined值或NULL,將不起作用(可以return undefined或者return null來實踐,效果就是不寫return。注:如果寫return false的話也是會有效的,因為return到了一個值)。如果要讓每個瀏覽器彈出的內容差不多的話,就return個空的字符串就好。

function testMothed(){
    window.location.href='index.html';
    window.onbeforeunload = function (e) {
       
    };
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM