【问题标题】:Update the database table and kill the session when the browser closes更新数据库表并在浏览器关闭时终止会话
【发布时间】:2011-10-03 16:40:18
【问题描述】:

当用户关闭浏览器/选项卡(IE、FF、Chrome、Opera 和 Safari)时,我需要更新表格。

我在 MasterPage 中放置了卸载事件,但卸载事件仅在第一次触发。其他所有卸载事件都没有触发。

【问题讨论】:

    标签: javascript jquery .net browser


    【解决方案1】:

    beforeunload 事件将执行您想要的操作,前提是用户在关闭浏览器时仍处于登录状态。

    您永远无法 100% 确定参加活动。

    用户可能会失去他们的网络连接,或者他们的计算机崩溃等,这会产生同样的效果,但你永远不会收到通知。

    而且由于它是客户端操作,因此可能会被恶意脚本拦截或被用户入侵。

    底线是:不要依赖此功能。即使您从未收到浏览器关闭的通知,您也需要让会话自然终止。执行此操作的标准方法是在一段时间不活动后超时。

    如果您仍然允许这样做,是否需要在浏览器关闭时主动终止会话?你也可以让他们在超时后自然死亡。

    【讨论】:

      【解决方案2】:
      jQuery(window).bind('beforeunload',function(){
            //do what ever
      });
      

      【讨论】:

      • 值得注意的是,此功能不能保证运行,一般情况下,您应该避免尝试依赖这种浏览器消息?
      猜你喜欢
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 2010-12-27
      • 1970-01-01
      • 2015-03-19
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多