【问题标题】:automatic log out when browser closes浏览器关闭时自动注销
【发布时间】:2011-04-01 15:23:34
【问题描述】:

是否有可能给出一个条件,即只要你点击浏览器的关闭按钮,脚本就会运行?

我的 ISP 提供了一个登录页面,所以我想知道是否可以编写一个脚本,让您可以在浏览器关闭后自动注销?

【问题讨论】:

  • 不建议这样做,因为强行关闭页面会导致脚本失败。

标签: php javascript browser


【解决方案1】:

如果您使用 cookie,请不要设置过期时间。因此,如果您关闭浏览器,Cookie 将被删除。使用 Javascript,您可以尝试使用 onunload 或 onbeforeunload 事件。

JS:

window.onunload = function() {
    document.cookie = 'mycookie=myvalue; expires=Thu, 01-Jan-70 00:00:01 GMT;';
};

或者您可以在卸载函数中发送最后一个 XHR 请求。但是我从来没有尝试过,所以我不能说它是否真的会起作用。

【讨论】:

    【解决方案2】:

    如果你想格外小心,或者如果你有需要适当清理的交互元素,你应该使用 unload 事件:

    【讨论】:

      【解决方案3】:

      您可以在 javascript 中绑定 window.onunload 事件,可能通过 ajax 调用 PHP 脚本,但这非常不可靠。例如,每当浏览器不正常地关闭时,脚本就不会触发。如果禁用 javascript,它也不会触发。

      【讨论】:

        【解决方案4】:

        通过异步调用将延长会话的页面(通过 xhr),更好地缩短会话到期前的时间并刷新会话。

        【讨论】:

          猜你喜欢
          • 2011-09-12
          • 2015-04-16
          • 1970-01-01
          • 2012-04-24
          • 2017-01-05
          • 2020-10-23
          • 1970-01-01
          • 2014-02-13
          相关资源
          最近更新 更多