关闭页面/窗口时如何调用代码
alert("its close now");
但不是onunload或onbeforeunload,因此在刷新时也会调用 我想在仅关闭时调用此警报
答案 0 :(得分:1)
但不是onunload或onbeforeunload,因此在刷新时也会调用 我想在仅关闭时调用此警报
刷新时,当前页面基本上已关闭并重新打开,导致onunload
和onbeforeunload
事件触发。 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
。