添加到浏览器的历史没有页面重载(Add to browser history without pag

2019-06-24 07:43发布

基本上,我有一个包含表单的页面。 当用户提交表单,一个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>

Answer 1:

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

相关链接文档 。



Answer 2:

我已经完成类似的行为与HTML5历史/国家的API,使用History.js ,描述这样的:

为所有HTML5的浏览器跨兼容的经验(它们都实现了HTML5 API历史一点点的不同导致不同的行为,有时错误 - 修复History.js这保证了经验不出所料/整个HTML5的浏览器相同的/大)

例:

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


文章来源: Add to browser history without page reload