关闭页面/窗口时发出警报

时间:2012-06-03 18:49:31

标签: php javascript javascript-events

关闭页面/窗口时如何调用代码

alert("its close now");

但不是onunload或onbeforeunload,因此在刷新时也会调用 我想在仅关闭时调用此警报

2 个答案:

答案 0 :(得分:1)

  

但不是onunload或onbeforeunload,因此在刷新时也会调用   我想在仅关闭时调用此警报

刷新时,当前页面基本上已关闭并重新打开,导致onunloadonbeforeunload事件触发。 AFAIK,当用户刷新页面时,你无法避免这种情况。

答案 1 :(得分:0)

以下是给您的说明:

Refresh = Closing window and reopening it

所以你必须使用onbeforeunload,因为无法告诉用户刷新或关闭窗口。

更新

根据您的评论:

  

我想知道用户何时打开页面以及何时关闭它,以及在页面停留多长时间,无论刷新页面多少次都是如此。

这可能是您的期望:

localStorage["t"] || (localStorage["t"] = 0);
var start = new Date();
window.onbeforeunload = function(){
    localStorage["t"] = +localStorage["t"] + (new Date() - start);
}

用户留在页面中的时间存储在localStorage["t"]中,并在每次离开时更新。但由于无法判断用户何时关闭页面,因此您必须设置一个时间间隔。例如,请在24小时后将其重置为0