2012-04-21 37 views
0

我需要將不同的數據存儲到瀏覽器中的每個選項卡。如果我打開同一頁面的新實例,則兩者之間的數據不會共享。將不同的數據存儲到每個選項卡

我的問題

我建立一個CMS來控制我的網站內容。但是我會打開同一頁面的一些實例(很多標籤)。所以我有一個搜索表單來查找我在CMS上創建的新聞。如果我打開新聞項目,我有一個取消按鈕,回到上一頁(新聞列表)。

問題是新聞列表有一個分頁和一個過濾器的形式。例如,我可以用「john doe」這樣的詞進行搜索,然後進入第5頁,並打開一個新聞項目。如果我取消,目前我回到沒有過濾器和第一頁的新聞列表。

我的解決方案

好了,我不想使用history.back()因爲我可以提交一個新聞表格,然後點擊後退/取消按鈕。所以,我會回到當前的形式,什麼是錯的。

我的第二個想法是存儲與傳送到新聞列表和後退按鈕$_POST一個$_SESSION送我去/news/list/recovery-session,這將恢復從會議$_POST數據。但它有一個問題:如果我打開兩個選項卡並進行兩次搜索,則只會保存最後一個會話。

您的解決方案

好吧,我可以用PHP和JS的工作,使其工作。你可以提出一個我能做什麼的想法。我想到COOKIES的工作,但我相信它是由域共享的,而不是通過標籤,什麼是問題。

有人?

回答

1

生成一個唯一的ID並將其附加到將要提交的表單或一些隱藏元素。將該唯一ID保存在cookie或會話變量中。在提交時比較兩者。

如果第二個標籤生成了新的標識,則第一個標籤不會評估爲true。

0

的主要問題是需要堅持的狀態返回哪一頁,也是搜索詞返回回到新聞列表頁面時。有很多方法可以實現這一點,但一個簡單的方法是將這些數據編碼到您的查詢字符串中。

舉一個例子,假設您的搜索字詞是「john doe」,並且您位於第5頁,請將該數據傳遞給您的新聞頁面。

當新聞頁面被創建時,您可以設置您的取消鏈接的格式,使您返回到具有正確參數的列表頁面。

news_list.php?search=john+doe&page=5 
相關問題