在浏览器关闭或会话超时之前调用函数的可靠方法


Reliable way to call a function on browser close or before session timeout?

是否有一种方法可以在会话到期或窗口关闭之前可靠地调用函数?为了避免过多的mysql查询,我的脚本将收集和更改php $_SESSION变量中的数据变量,并在需要与数据库交互时进行mysql更新。由于我以这种方式存储这些数据,是否有可靠的方法来确保在用户关闭窗口之前或在会话到期之前将这些数据提交到数据库?

我已经标记了php, javascript和jquery,因为我对任何方法都是开放的。

补充:对不起,我们假定客户端已启用javascript。我的情况很特别,我不太愿意为一个不喜欢的客户服务。

经过多次搜索/讨论。我将使用setTimeout()方法定期将数据提交到数据库。用户可以在返回后继续(可能会丢失一些数据),类似于google docs模型。