2010-06-15 32 views
2

顯然,在IE8中,即使我取消選中「保留收藏夾網站數據」選項,瀏覽器仍會保留Cookie,直到最後一個窗口關閉。即使一個窗口仍然打開,如何強制刪除Cookie?

問題場景。說我登錄到somesite.com,然後沒有註銷,我關閉了窗口,但還有另一個IE8窗口打開。在這種情況下,IE8會保留這個網站的cookies。因此,如果我再次打開該網站(相同的窗口或另一個),該網站不會要求登錄信息。

客戶希望在用戶關閉瀏覽器後立即註銷Web應用程序。我可以強制刪除IE8正在保存的cookie嗎?或者我可以阻止用戶關閉窗口,直到我模擬點擊註銷按鈕?

回答

2

謝謝大家,我已經嘗試了很多方法,包括你的,並沒有得到它的工作。

我的解決方案如下: 當用戶單擊X按鈕(瀏覽器關閉)時,將調用一個javascript onunload函數。該功能模擬點擊logout按鈕。該功能會暫停瀏覽器,直到註銷被執行。

代碼:

window.onunload = function() { 
    document.getElementById('logoutLink').click(); 
    windows.setTimeout(doNothingFunction,2000); 
} 

一個副作用是,該功能將在每次用戶導航出當前頁面的時候居然叫,不僅在窗口關閉。
解決方案,當頁面導航到頁面時,標誌closingWindow被設置爲false。但是當用戶點擊X按鈕時,標誌不會被設置爲false。

解決副作用的新功能。

window.onunload = function() { 
    if (closingWindow){ 
     document.getElementById('logoutLink').click(); 
     windows.setTimeout(doNothingFunction,2000); 
    } 
} 
1

您可以在瀏覽器的onunload事件中設置負面過期日期的cookie嗎?

1

您可以通過發送frefuent ajax請求來控制窗口的存在。當客戶端加載新頁面時,您應該驗證上次檢查請求的時間。

相關問題