js给浏览器添加历史记录

需求描述:

从页面A跳转到页面B,现在要给A和B之间添加一个历史记录C,
也就是A-C-B。

可是并没有那么一个方法来直接添加历史记录,那就只能使用移花接木大法了!

思路就是利用pushState和replaceState方法来实现:

// 先保存当前页地址, 假设当前在B页面
let urlB = window.location.href
// 替换当前页地址为C页面,地址urlC
window.history.replaceState(null, null, urlC)
// 追加一个B页面的地址并切换到B
window.history.pushState(null, null, urlB)

需要注意ie9及以下版本不支持pushState和replaceState操作

发布了13 篇原创文章 · 获赞 26 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/u010059669/article/details/88952892