1. 程式人生 > >獲取onbeforeunload的返回結果,在檢測到取消離開頁面後執行操作

獲取onbeforeunload的返回結果,在檢測到取消離開頁面後執行操作

1.建立一個定時任務,這個定時任務的功能是建立另一個定時任務。
2.在另一個定時任務裡,定時執行我們的beforeloadResult();這個定時任務開始計算時間的時候,就是我們確定(或取消)關閉網頁的時候。
定時任務會在alert結束之後生效,也就是說在取消(或確定)關閉頁面的時候,第一個定時任務,建立了第二個定時任務,開始計時,這個任務將在50微秒之後執行beforeloadResult()——並不是立刻執行。 而50微秒,頁面已經關掉了,就不會繼續執行了。這個時間遠超過了執行beforeloadResult()的時候。beforeloadResult()徹底沒機會執行。(這個定時器並不是在onbeforeunload時就建立的,而是等alert一消失才開始建立的。)

瀏覽器提示頁面離開,會阻塞什麼也不執行,取消的話頁面關閉太快。程式沒有機會執行

setTimeout(function () {
                setTimeout(function () {
                    var attrLoadIndex = parent.$("#dailyJournalIframe").attr('loadIndex');
                    if(attrLoadIndex){
                        top.layer.close(attrLoadIndex);
                    }
}, 50); }, 50);