新手问题 js 如何判断浏览器是关闭还是刷新?

yangxing_star · 2013年07月31日 · 最后由 aptx4869 回复于 2013年08月02日 · 6640 次阅读

我想判断浏览器是关闭还是刷新,在网上找的方法发现都不行, window.onbeforeunload = function(){ //刷新和关闭都会进入到这里面... } 各位大神求解?

这个还真不好知道,你的需求是什么啊?

目测只能用 cookie ...

#1 楼 @guyanbiao 关闭后,使 session 失效, 这个可以实现,问题是,关闭浏览器我的提示是:“确认退出系统吗?”, 刷新时出现这个提示不太合理.

#2 楼 @blacktulip 用 cookie 如何实现啊?

你可以这样,window.onbeforeunload 的时候告诉服务器,10 秒钟之后,销毁 session ,然后重新登陆的时候,取消这个 timer

#5 楼 @guyanbiao 销毁 session 可以在 window.onunload 事件里面操作, 我只是觉得觉得刷新时那个提示不正确, session 的问题是正常的。

onbeforeunload 发请求不一定会到达服务器的,失败概率很大

#7 楼 @edokeh 我是在 onunload 中发请求的。

@yangxing_star 一样的,都会有丢失概率

匿名 #11 · 2013年08月02日

关闭浏览器,session 不就自动失效了么,为啥要特意用 JS 处理?难道是关闭 TAB?

把"确认退出系统吗?"这个提问直接删掉更好 - -. 除非当前页面上有需要保存的工作成果, 那么提醒一下用户还有点意义. 否则这种提示只是在制造操作上的麻烦.

#11 楼 @lewisgrady 这个还真不一定

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册