history.pushState()和history.replaceState()
时间: 2024-01-11 20:19:23 浏览: 84
history.js:History.js在所有浏览器中都优雅地支持HTML5 HistoryState API(pushState,replaceState,onPopState)。 包括对数据,标题,replaceState的持续支持。 支持jQuery,MooTools和Prototype。 对于HTML5浏览器,这意味着您可以直接修改URL,而无需再使用哈希。 对于HTML4浏览器,它将恢复为使用旧的onhashchange功能
.pushState() 和 history.replaceState() 是HTML5中history对象的两个新增的方法,它们可以在不刷新页面的情况下操作浏览器的历史记录。
history.pushState() 方法用于在历史中添加一条记录,该方法接受三个参数:state、title 和 url。其中,state 是一个JavaScript对象,它表示新的历史记录的状态信息;title 是新的历史记录的标题,但是现在大多数浏览器都忽略这个参数;url 是新的历史记录的URL地址。
history.replaceState() 方法与 pushState() 方法类似,但是它不会添加一条新的历史记录,而是替换当前的历史记录。该方法也接受三个参数:state、title 和 url。
下面是一个使用 history.pushState() 方法的例子:
```javascript
history.pushState({page: 1}, "title 1", "?page=1");
```
这个例子将在浏览器的历史记录中添加一条新的记录,状态信息为 {page: 1},标题为 "title 1",URL地址为 "?page=1"。
下面是一个使用 history.replaceState() 方法的例子:
```javascript
history.replaceState({page: 2}, "title 2", "?page=2");
```
这个例子将替换当前的历史记录,状态信息为 {page: 2},标题为 "title 2",URL地址为 "?page=2"。
阅读全文