2011-05-13 87 views
0
var unloadOK = "false";//used as variable when data need to be send to the server 
window.onbeforeunload = CheckBeforeUnload; 
window.onunload = CheckUnload 

function CheckBeforeUnload(){ 
    document.getElementById("ContentPlayer").CheckUnload(""); 
    return "Are you sure you want to exit?" 
} 

function CheckUnload(){ 
    unloadOK = "true"; 
    pause(1000); 

    alert("session saved"); 
} 

function pause(millis) 
{ 
    var date = new Date(); 
    var curDate = null; 

    do { 
    curDate = new Date(); 
    } while(curDate-date < millis); 
} 

以上是代碼:我想在用戶嘗試關閉瀏覽器時發送數據。
Onunload方法在IE7和IE8中工作,但不在IE9和FF4中。 應用程序內置於Flex 3.0 sdk。卸載不工作在IE9和FF4

任何人都可以建議什麼是onunload的問題是有解決方案可靠地發送數據時瀏覽器關閉和onunload如何在所有瀏覽器中一致工作?

回答

0

以上是代碼:我試圖在用戶嘗試關閉 瀏覽器時發送 數據。 Onunload方法在IE7 和IE8中工作,但不在IE9和FF4中。 應用程序內置於Flex 3.0 sdk。

不知道它有多重要,但在將它們分配爲處理程序之前嘗試進行函數調用。

function CheckBeforeUnload(){ 
    document.getElementById("ContentPlayer").CheckUnload(""); 
    return "Are you sure you want to exit?" 
} 

你可能想要一個alert()這裏,而不是一個return

任何人都可以提出什麼是onunload的問題 是有解決方案 發送數據可靠時,瀏覽器是 關閉和如何onunload的工作 始終在所有瀏覽器中?

不幸的是,用戶可以簡單地關閉您的頁面上的標籤並繞過它。他們也可以使用谷歌瀏覽器的進程監視器來殺死該選項卡。最後,他們可以強制退出應用程序。將所有功能作爲最終解決方案都是不好的。

+0

要求: 在瀏覽器關閉時顯示警告消息。 僅在瀏覽器確實關閉時才發送數據。 onbeforeunload方法返回用於顯示默認警告。警報將工作,但不會作爲一個警告消息與確定和取消選項。 – user751674 2011-05-13 14:25:46