html中如何使用history.pushstate
在HTML中使用`history.pushState()`方法可以修改浏览器历史记录的状态,并改变当前URL而不刷新页面。
语法:
```javascript
history.pushState(state, title, url);
```
参数解释:
- `state`:一个对象,表示要添加到历史记录中的状态对象。
- `title`:一个字符串,表示新的历史记录条目的标题,大多数浏览器其实不使用该参数。
- `url`:一个字符串,表示新的历史记录条目的URL。
示例代码:
```javascript
history.pushState({page: 1}, "Page 1", "/page1");
```
在上面的示例中,`pushState`方法将一个状态对象 `{page: 1}` 添加到浏览器的历史记录中,并且将URL更改成 `/page1`。页面不会刷新,但是URL将会更新。
注意:
- 使用 `pushState` 方法不会触发任何页面加载事件,所以你需要自己处理URL的变化,并进行相应的操作。
- 对使用 `pushState` 方法修改URL的页面,可使用 `popstate` 事件来监听URL的变化,当用户点击浏览器的前进或后退按钮时会触发该事件。
TOP