我需要在用户关闭浏览器/选项卡(IE,FF,Chrome,Opera和Safari)时更新表。更新数据库表并在浏览器关闭时终止会话
我将卸载事件放在MasterPage中,但卸载事件只在第一次触发。其他每个卸载事件都不会触发。
我需要在用户关闭浏览器/选项卡(IE,FF,Chrome,Opera和Safari)时更新表。更新数据库表并在浏览器关闭时终止会话
我将卸载事件放在MasterPage中,但卸载事件只在第一次触发。其他每个卸载事件都不会触发。
jQuery(window).bind('beforeunload',function(){
//do what ever
});
如果用户在关闭浏览器时仍然登录,beforeunload
事件将执行您想要的操作。
但是你永远无法百分之百的确定获得该事件。
用户可能会失去他们的网络连接,或者使他们的电脑崩溃等等,这会产生相同的效果,但您永远不会收到通知。
而且,由于这是客户端操作,因此可能会被恶意脚本拦截或被用户入侵。
底线是:做不是依靠这个功能。即使您从未收到关闭浏览器的通知,也需要让您的会话自然死亡。执行此操作的标准方法是在一段时间不活动后超时。
而且,如果你打算允许这样做,是否有任何需要主动关闭浏览器的会话?你可能只是让他们在超时时自然死亡。
是否值得注意的是,这个函数不能保证运行,一般来说,你应该避免试图依赖这种浏览器消息? – Smudge202