基本上,我有一个包含表单的页面。当用户提交该表单时,将调用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>
答案 0 :(得分:24)
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");
答案 1 :(得分:14)
我使用History.js完成了HTML5历史/状态API的类似行为,如下所述:
为所有HTML5浏览器提供交叉兼容的体验(他们都是 实现HTML5历史API有点不同导致 不同的行为,有时是错误 - History.js解决了这个问题 确保体验符合预期/相同/伟大 HTML5浏览器)
示例:
History.pushState({state:1}, "State 1", "?state=1");