2010-11-23 134 views
0

當我加載我的php頁面時,我追加了一些數據。例如MyPage.php?value = something。 正如預期的那樣,當我使用後退按鈕時,它總是加載相同的數據。我不想那樣。我希望在頁面加載之後,我應該能夠將歷史記錄更改爲僅存儲MyPage.php而不附加數據。因此,現在,當我使用後退按鈕時,它只會加載MyPage.php。我怎麼能做到這一點 - javascript,jquery,php,什麼?更改Javascript的歷史記錄

如果有辦法做到這一點,而不觸及歷史對象,那也很好。我只是假設它會調整一些歷史記錄。如果需要在客戶端或服務器端進行調整,我也可以。

+0

您知道,您的用戶可能會認爲瀏覽器歷史記錄是**功能**。即使你想禁用它,他們也可能不會,最終瀏覽器在他們的計算機上運行,​​而不是你的。 – 2010-11-23 17:07:50

回答

1

據我所知,不可能像這樣調整歷史,也不是處理這個問題的好方法。

你可以使用cookie來確定何時頁面被加載兩次以上,或者將數據存儲在一個會話變量,而不是,並刪除它一旦你處理完成。

1

我假設數據是通過GET方法追加的。使用POST不會在MyPage.php後添加文本,但仍然可以將數據傳遞到頁面。

0

歷史就是歷史。要改變這種做法有點麻煩(如果你這樣做的話,你可能還會遇到其他問題)。

最好是要麼沒有查詢字符串在所有,用js或服務器端邏輯來確定的動作,或以具有或JS服務器端邏輯忽略第二請求。

0

如果你對調整歷史很好,那麼你可以看看這個。

history.replaceState({}, document.title, "MyPage.php"); 

這會將當前window.location重寫爲「MyPage.php」而不刷新頁面。