【发布时间】:2011-04-01 15:23:34
【问题描述】:
是否有可能给出一个条件,即只要你点击浏览器的关闭按钮,脚本就会运行?
我的 ISP 提供了一个登录页面,所以我想知道是否可以编写一个脚本,让您可以在浏览器关闭后自动注销?
【问题讨论】:
-
不建议这样做,因为强行关闭页面会导致脚本失败。
标签: php javascript browser
是否有可能给出一个条件,即只要你点击浏览器的关闭按钮,脚本就会运行?
我的 ISP 提供了一个登录页面,所以我想知道是否可以编写一个脚本,让您可以在浏览器关闭后自动注销?
【问题讨论】:
标签: php javascript browser
如果您使用 cookie,请不要设置过期时间。因此,如果您关闭浏览器,Cookie 将被删除。使用 Javascript,您可以尝试使用 onunload 或 onbeforeunload 事件。
JS:
window.onunload = function() {
document.cookie = 'mycookie=myvalue; expires=Thu, 01-Jan-70 00:00:01 GMT;';
};
或者您可以在卸载函数中发送最后一个 XHR 请求。但是我从来没有尝试过,所以我不能说它是否真的会起作用。
【讨论】:
如果你想格外小心,或者如果你有需要适当清理的交互元素,你应该使用 unload 事件:
【讨论】:
您可以在 javascript 中绑定 window.onunload 事件,可能通过 ajax 调用 PHP 脚本,但这非常不可靠。例如,每当浏览器不正常地关闭时,脚本就不会触发。如果禁用 javascript,它也不会触发。
【讨论】:
通过异步调用将延长会话的页面(通过 xhr),更好地缩短会话到期前的时间并刷新会话。
【讨论】: