浏览器链接跳转方式以及事件处理

本文详细介绍了浏览器中常见的几种页面跳转方法及其特点,并探讨了如何在多页面模式下有效管理用户的登录状态,包括利用历史记录API及窗口间的会话共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、浏览器跳转方式:
location.href
location.reload
location.replace
location.assign
history.go
history.back
history.forward
window.open

非跳转,html5的方法,仅改变浏览器的历史记录

history.pushState({page: 1}, 'title 1', '?page=1');
history.pushState({page: 2}, 'title 2', '?page=2');
history.replaceState({page: 3}, 'title 3', '?page=3');

2、浏览器没有关闭窗口事件,仅有onbeforeunload, onunload,但是前5种方式以及鼠标点击浏览器刷新或者按快捷点键或者地址栏回车都会触发页面的卸载;

3、关闭窗口立即清除登录态,多页面模式,需要考虑计数窗口,在页面卸载和加载时候将窗口加减数并且保存到同domain的cookie里面,假如是最后一个页面卸载的时候则清除,一般考虑使用单窗口形式,点击和按键或者地址栏以及点击关闭窗口时候触发是否清除登录态,其他页面逻辑内的跳转操作可进行封装方法,然后在每个方法跳转前加一个参数,然后unload前判断假如这个参数存在则不进行清除登录态操作;

采用后端接口做心跳控制(卸载发请求以及加载发请求的时间差控制,如果卸载时间后收到的加载时间较长则清除登录态)也会存在问题,不好控制网速,不好控制是否调试断点的情况,

4、窗口间使用session传值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值