2011-07-11 96 views
0

在我的網站中,我嘗試將每個用戶的某個頁面限制爲1個會話,這樣做我使用了Cookie(不能使用Session變量)和「onunload」事件在masterpage中的body元素 - 我刪除了cookie,並在特定的webpart的CreateChildControl中檢查cookie /創建它,如果它不存在。
問題是,當我從一個頁面移動到另一個頁面時,上一頁的「onunload」事件之前的createchildcontrols事件很奇怪,會發生什麼情況是Cookie仍然存在,因爲它尚未被先前刪除頁面。加載新頁面後的JavaScript onunload occours

我該如何解決這個問題?

在此先感謝。

回答

1

Onunload不可靠並且不應該用於任何重要目的。如果瀏覽器崩潰等怎麼辦?

如果您想限制爲每個用戶一個會話,只需刪除/無效舊會話,如果由於某種原因創建了新會話。

+0

我不能使用會話變量 - 我正在通過sharepoint開發網站,並且「enablesessionstate」在農場中不活躍(並且這不取決於我決定是否啓用天氣) – liranco

+0

此外,在瀏覽器/電腦崩潰的情況下,將1小時的cookie過期 – liranco

+0

將用戶鎖定超過幾秒鐘是不可接受的... – ThiefMaster