我的應用程序有好幾頁。在某些頁面上,我在其他頁面上給出了一個後退按鈕,但沒有給出(客戶端的要求)。現在在一個特定的頁面上,我有一個選擇列表(選擇是使用jQuery插件的圖像幻燈片),供用戶選擇。選擇選項會將用戶轉到下一頁。現在我想要獲得與點擊瀏覽器後退按鈕時突出顯示的選擇相同的頁面。在點擊瀏覽器後退按鈕時,我猜這個頁面正在重新加載,丟失了cookie值,即當我從圖像集中選擇一個圖像時,它會將我帶到另一個頁面。在點擊瀏覽器後退按鈕時,我想要從該組中選擇相同的圖像來獲取該頁面。是否有任何解決方法,以便我還可以在瀏覽器上獲取選定的值。在點擊瀏覽器後退按鈕時獲取用戶選擇
1
A
回答
4
另一個插件做到這一點:
jQuery的燒烤利用了HTML5 hashchange事件,讓簡單,但功能強大的可收藏#hash歷史。此外,jQuery BBQ提供了完整的.deparam()方法,以及散列狀態管理和片段/查詢字符串分析和合並實用程序方法。
1
你可以利用onunload
事件,幾乎所有的主流瀏覽器*會火,使用後退/前進/刷新按鈕時。讓onunload
事件處理程序同步發送一個AJAX請求,包含要恢復當前頁面狀態所需的所有值,PHP腳本:
$(window).unload(function() {
// Insert your code here to collect all values
// necessary to save a restorable state of the
// current page.
//
// var pageState = {
// page: host.pathname,
// :
// };
$.ajax({
type: "POST",
async: false,
url: "http://mydomain.com/mysave.php",
data: jQuery.param(pageState),
error: function(jqXHR, textStatus, errorThrown){
// your code
}
success: function(data, textStatus, jqXHR){
// your code
}
});
});
讓PHP腳本保存接收到的頁面狀態的地方(例如會議,數據庫等等),所以它是可用的,當你要生成一個頁面時,你想要恢復到以前的狀態。
請注意,此解決方案有一個可能的缺點。
同步請求用於給服務器一個真正的機會來完全接收和處理請求。一個異步請求會立即返回,因此已經加載新頁面,並且可能在取消並行運行的異步請求之前,它已經完成(甚至發送)。
Otoh同步請求阻塞(凍結瀏覽器,用戶不能做任何事情),直到服務器響應。如果你的服務器沒有響應,這會導致死鎖。不幸的是,無法在客戶端取消同步請求(至少我沒有意識到),所以您應該始終儘可能縮短同步請求的時間(服務器端處理時間)。爲了確保你擁有一臺快速可靠的服務器,但是你總是應該擁有這個服務器^^。
* 要知道,雖然,一些瀏覽器(例如Opera)的做不火onunload
事件,當使用特定的瀏覽器按鈕。
相關問題
- 1. Gmail - 後退按鈕點擊瀏覽器
- 2. 點擊Ipad瀏覽器後退按鈕
- 3. Asp.Net在瀏覽器上點擊後退按鈕時強制Page_Load
- 4. 如何在用戶點擊瀏覽器後退按鈕時顯示警報?
- 5. 當我點擊瀏覽器後退按鈕或移動設備後退按鈕
- 6. 瀏覽器後退按鈕
- 7. 當用戶點擊瀏覽器後退按鈕時觸發事件
- 8. 當用戶點擊瀏覽器後退按鈕時提交表格
- 9. 當用戶點擊瀏覽器中的後退按鈕時會發生什麼?
- 10. 調用PHP函數,當瀏覽器後退按鈕點擊
- 11. 在瀏覽器上觸發事件後退按鈕點擊
- 12. 單擊瀏覽器後退按鈕時如何調用事件
- 13. 單擊瀏覽器後退按鈕時,在頁面上禁用提交按鈕
- 14. 過期網頁上點擊瀏覽器後退按鈕
- 15. mvc,如何防止點擊瀏覽器的後退按鈕?
- 16. 舊的驗證錯誤點擊瀏覽器後退按鈕
- 17. 點擊瀏覽器後退按鈕加載兩個iframe
- 18. 瀏覽器後退按鈕點擊不加載前一頁
- 19. 如何防止瀏覽器後退按鈕點擊閃爍
- 20. 瀏覽器的後退按鈕,當值的列表選擇
- 21. Firefox(3.6)選擇框狀態和瀏覽器後退按鈕
- 22. 單擊瀏覽器後退按鈕時頁面不一樣
- 23. 單擊瀏覽器後退按鈕時無法檢索會話
- 24. 爲什麼在點擊瀏覽器的「後退」按鈕時MySQL值被刪除?
- 25. React路由器,點擊瀏覽器後退按鈕時的生命週期
- 26. gridview和單選按鈕列表瀏覽器後退按鈕
- 27. 如何在用戶按F5鍵或點擊瀏覽器的後退/關閉按鈕時顯示定製的fancybox?
- 28. 瀏覽器記住最後打開的標籤頁,當點擊瀏覽器後退按鈕時
- 29. 獲取Ajax先前的請求與瀏覽器後退按鈕
- 30. 如何避免在點擊瀏覽器後退按鈕後返回?
令人印象深刻的圖書館 – jantimon 2011-04-26 12:17:56