2011-06-28 31 views

回答

5

由於您打開了一個新窗口,會話沒有過期;新窗口不得有用於存儲會話標識的cookie。大多數時候,這些cookies都是短暫的或「基於會話」的cookie。

會話cookie可能會或不會在瀏覽器窗口之間共享,具體取決於瀏覽器以及如何打開新窗口。例如,在IE 9中,使用Javascript,Ctrl + N或Ctrl + T啓動的新窗口將共享會話cookie。但是,通過轉到File/New Session啓動的新窗口不會共享會話cookie。

您也不會看到不同瀏覽器(例如,IE和Firefox)之間共享的Cookie。

0

爲了給邁克爾的優秀回答增加一個更簡單的答案 - 簡短的答案就是「你不能直接實現這個」。

但是你可以做的是在你的應用程序中實現跟蹤,這樣你就可以始終知道用戶的最後一個動作是什麼,並且無論他們進入什麼會話,都強行將它們保存在指定的工作流中。然而,要實現這一點,你必須基本忽略會話變量(無論如何這可能是一個好主意;))等,並實現一個不斷跟蹤用戶行爲,當前位置和任何其他相關信息的框架。這顯然涉及很多開銷,但這是我知道的唯一方法,以確保某個用戶總是會在他們希望從不同的瀏覽器,機器等登錄時結束它們。

+0

我只會提到以這種方式跟蹤位置經常會使後退按鈕無效,並且也使得用戶不可能同時使用多個窗口/標籤來瀏覽不同的頁面。有時候這是可取的,但通常情況並非如此。 –

相關問題