簡體   English   中英

添加到瀏覽器歷史記錄而不重新加載頁面

[英]Add to browser history without page reload

基本上,我有一個包含表單的頁面。 當用戶提交該表單時,將調用Javscript函數並向用戶動態顯示新表單。

此時,我希望用戶能夠單擊瀏覽器的后退按鈕並返回到第一個表單。 這可能嗎?


感謝您的快速回復,但我無法讓pushState工作。 單擊后退按鈕后,HTML仍顯示“第二個表單”。

這是我用來測試它的代碼:

<script>
function newPage(){
    history.pushState({state:1}, "State 1", "?state=1");
    document.getElementById('formBox').innerHTML="second form";
}
</script>


<input type="button" onclick="newPage();" value="forward" />
<div id='formBox'>first form</div>
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

與文檔相關的鏈接

我使用History.js完成了HTML5歷史/狀態API的類似行為,如下所述:

為所有HTML5瀏覽器提供交叉兼容的體驗(它們都有點不同地實現HTML5歷史記錄API,導致不同的行為,有時還會出現錯誤 - History.js修復了這一點,確保在整個HTML5瀏覽器中體驗符合預期/相同/優秀)

例:

History.pushState({state:1}, "State 1", "?state=1");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM