您的位置:首页 > 其它

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

2018-07-05 18:21 337 查看

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传值

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: