JS使用window.location.replace删除上一条浏览器历史记录的方法(登录回退)
一、问题
如果用户登录状态过期,或者没有登录,当用户登录之后回退上一个页面的时候,就会回退到登录页面,这样的体验不是很好
二、解决
history不支持删除历史记录的方法,当从当前页面跳转到下一个页面的时候可以用以下方法,用新的文档替换当前文档就相当于删除了当前页面的历史记录。
window.location.replace('URL')
1
三、MDN文档
location.replace() 方法以给定的 URL 来替换当前的资源。与 assign() 方法 不同的是,调用 replace() 方法后,当前页面不会保存到会话历史中(session History),这样,用户点击回退按钮时,将不会再跳转到该页面。
因违反安全规则导致的赋值失败,浏览器将会抛出类型为 SECURITY_ERROR 的 DOMException 异常。当调用该方法的脚本所属的源与拥有 Location 对象所属源不同时,通常情况会发生这种异常,此时通常该脚本是存在不同的域下。
如果 URL 无效,浏览器也会抛出 SYNTAX_ERROR 类型的 DOMException 异常。
3.1、语法
object.replace(url);
1
3.1.1、参数
url
DOMString 类型,指定所导航到的页面的 URL 地址。
3.2、示例
// Navigate to the Location.reload article by replacing this page
window.location.replace(
"https://developer.mozilla.org/zh-CN/docs/Web/API/Location/reload",
);
3.3、兼容性
四、最后
本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞收藏关注✨,一起加油☕
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012804440/article/details/135724267