【发布时间】:2011-10-03 16:40:18
【问题描述】:
当用户关闭浏览器/选项卡(IE、FF、Chrome、Opera 和 Safari)时,我需要更新表格。
我在 MasterPage 中放置了卸载事件,但卸载事件仅在第一次触发。其他所有卸载事件都没有触发。
【问题讨论】:
标签: javascript jquery .net browser
当用户关闭浏览器/选项卡(IE、FF、Chrome、Opera 和 Safari)时,我需要更新表格。
我在 MasterPage 中放置了卸载事件,但卸载事件仅在第一次触发。其他所有卸载事件都没有触发。
【问题讨论】:
标签: javascript jquery .net browser
beforeunload 事件将执行您想要的操作,前提是用户在关闭浏览器时仍处于登录状态。
但您永远无法 100% 确定参加活动。
用户可能会失去他们的网络连接,或者他们的计算机崩溃等,这会产生同样的效果,但你永远不会收到通知。
而且由于它是客户端操作,因此可能会被恶意脚本拦截或被用户入侵。
底线是:不要不依赖此功能。即使您从未收到浏览器关闭的通知,您也需要让会话自然终止。执行此操作的标准方法是在一段时间不活动后超时。
如果您仍然允许这样做,是否需要在浏览器关闭时主动终止会话?你也可以让他们在超时后自然死亡。
【讨论】:
jQuery(window).bind('beforeunload',function(){
//do what ever
});
【讨论】: