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>

  

posted on 2016-02-02 15:23  熏风  阅读(261)  评论(0编辑  收藏  举报