更新数据库表,并在浏览器关闭时终止会话
Update the database table and kill the session when the browser closes
当用户关闭浏览器/选项卡(IE,FF,Chrome,Opera和Safari)时,我需要更新表。
我在MasterPage中放置了卸载事件,但是卸载事件只在第一次触发。
如果用户在关闭浏览器时仍然登录,则beforeunload
事件将执行您想要的操作。
但是你不可能100%确定获得事件。
用户可能会失去他们的网络连接,或者使他们的计算机崩溃,等等,这些都有同样的效果,但你永远不会得到通知。
由于这是一个客户端操作,它可能被恶意脚本拦截或被用户入侵。
底线是:不依赖于这个功能。你需要允许你的会话自然死亡,即使你从来没有通知浏览器关闭。执行此操作的标准方法是在一段时间不活动后设置超时。
如果你允许这样做,是否有必要在浏览器关闭时主动终止会话?你还不如让它们自然死亡,并设置一个超时时间
jQuery(window).bind('beforeunload',function(){
//do what ever
});
相关文章:
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 验证会话中是否存在对象's数组
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 通过javascript从会话中提取用户名
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- Php未获取会话的最新值
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- PHP会话页面刷新不起作用
- 有可能通过sessionID获得快速会话吗
- 让会话值可用于JavaScript的好方法是什么
- 浏览器关闭时终止会话
- 如何在django关闭浏览器时终止会话
- 使用 http 删除终止用户会话
- 关闭浏览器终止web服务器会话
- 更新数据库表,并在浏览器关闭时终止会话
- 如何在终止之间重复使用会话 Cookie (安卓)