在窗口关闭时清除会话;继续你停止的地方“;设置在chrome中打开


clear session on window close when "continue where you left off" setting is turned on in chrome

当浏览器关闭或单击注销按钮时,我的应用程序将注销。但当chrome或firefox中打开"继续您停止的地方"时,会话不会被清除。浏览器保存会话值以应用其设置。由于我的应用程序包含敏感信息,我需要将其清除。我不想在标签页关闭时注销。有人能建议一种方法吗?我已经实现了定时器注销,当选项卡保持非活动状态超过5分钟时就会实现。当浏览器关闭时,它也会注销。"这里的问题是,当浏览器中打开"继续您停止的位置"设置时,它不会在浏览器关闭时注销"。我只想根据我的最后一点提出建议。

如果您不想在其他选项卡处于活动状态时在简单的选项卡关闭时自动注销,那么没有直接的方法。因为所有客户端脚本都只能在其选项卡中进行控制,所以它们不能也不应该释放自己并获得对浏览器窗口本身的控制。

另一种方法是注销用户,当他有30秒没有任何选项卡处于活动状态时:

1) 添加一个脚本,该脚本加载在每个页面上,它会定期向服务器发出ajax请求,表示该客户端仍然处于活动状态。

2) 制作一个服务器端脚本,监听这些请求并记住当前会话中最后一次接收到的时间。

3) 最后,在session_start()之后的所有地方都包含一个脚本,该脚本将检查上次刷新时间,如果自上次刷新请求以来经过了太多时间,则可能会清除会话(因为这意味着客户端在这段时间内没有活动的选项卡……或者连接问题,不可能是完美的)。