【发布时间】:2014-01-03 22:28:32
【问题描述】:
使用jQuery 或其他方法,我如何才能仅在访问者关闭页面时取消设置会话
unset($_SESSION['foo']);
我知道在 Javascript 中检测这种东西的唯一方法是 onunload 和 onbeforeunload 事件
那么我如何在关闭页面时将其应用于取消设置$_SESSION['foo']
但是如果访问者关闭页面,我为什么要取消会话?
我将把它应用到我基于观看 youtube 视频的简单网站中
防止访客多次打开watching.php
所以我会强迫他们先关闭它,然后再调用新视频观看
所以我的想法是放弃会话,如果找到将打印错误消息
但问题是如何释放这个会话,所以我需要js 的帮助才能做到这一点
在页面watching.php
非常感谢
【问题讨论】:
-
看起来这对服务器来说太密集了。类似于长轮询!
-
为了您的健康,不要评论说“如果用户禁用了 javascript”:)
-
^ 那也不错! :P 我没想到!
-
@larssy1 不,当页面关闭时,PHP 会话不会自动销毁,这是不可能的。 可能被丢弃的是客户端的会话cookie,但服务器端的会话数据会保留一段时间。但即使是浏览器的 cookie 保留政策也在发生变化。
-
@PraveenKumar 我正在测试它
标签: javascript php jquery session