history replaceState/pushState
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了history replaceState/pushState相关的知识,希望对你有一定的参考价值。
html5 history新增了两个属性,分别是replaceState()和pushState(),不刷新页面改变页面的url。
replaceState()可以不让页面刷新的情况下改变url
用法:history.replaceState("data","页面的title","变化后的url")
<body> <input type="button" value="按钮" id="btn"> </body> <script> $(‘#btn‘).click(function(){ history.replaceState(null,"title","aa.html?name=12345"); history.replaceState(null,"title","bb.html?name=67890"); }) </script>
ps:经测试有些页面的title是无法改变的
pushState()是在浏览器历史中插入一条url的记录,后插入的会在记录(数组)的最顶端,同理replaceState可以让页面不刷新改变url,区别是可以通过浏览器返回到上一个记录的url,优点是在ajax局部渲染页面后可以通过浏览器返回按钮返回到渲染前的记录
用法:history.pushState("data","页面的title","变化后的url")
<body> <input type="button" value="按钮" id="btn"> </body> <script> $(‘#btn‘).click(function(){ history.pushState(null,"title","aa.html?name=12345"); history.pushState(null,"title","bb.html?name=67890"); }) </script>
以上是关于history replaceState/pushState的主要内容,如果未能解决你的问题,请参考以下文章
echo > $HOME/.bash_history && history -c 清空history命令