2010-08-06 126 views
3

我想知道是否有任何方式來檢測當在ASP.net中點擊導航器的後退按鈕後重新加載頁面時?如何在點擊後退按鈕時捕捉事件?

感謝

+1

爲什麼?你想做什麼? – SLaks 2010-08-06 10:37:31

+0

也許只是檢查用戶不按下後退按鈕提交衝突的形式或類似的東西。這可能歸結爲設計問題。 – 2010-08-06 10:43:10

回答

5

不幸的是,據我所知,應該沒有故障安全的方式來做到這一點,因爲它primarially取決於瀏覽器。有些瀏覽器會在您按下後重新加載內容,其他瀏覽器會緩存它並加載緩存。其他人將混合使用兩者。

+0

有趣的是,知道瀏覽器對後退按鈕不起作用。 顯然: 當您按回=> Internet Explorer時,某些瀏覽器將在物理上重新加載內容。 他們將緩存它,並加載緩存=> Firefox。 – 2010-08-06 12:12:00

+0

歸結爲很多用戶設置,以及瀏覽器如何處理某些元標記。 – 2010-08-06 12:19:14

+0

還涉及到歷史堆棧允許多少存儲空間。 FF給出了一個緩存版本(不同於網頁緩存,但是當你離開頁面時是狀態的一個副本),但是,在FF中做了足夠的工作(包括在其他選項卡和窗口中)並且該狀態被刷新,必須重新加載。 – 2010-08-08 00:59:39

2

客戶端腳本可以在這方面取得一些成功,但瀏覽器之間的差異是相當大的。

從概念上講,這樣做是沒有意義的,因爲你可能會根據這些知識做一些事情,這會改變「歷史」。不要改變歷史! :)

我發現讓人想要做的最常見的一類問題是重新提交一個表單,然後回來。我通常會通過在表單中​​包含一個隨機數並拒絕重複的隨機數來解決這個問題。 UUID在這些情況下非常方便。

其他案例有其他解決方案。

相關問題