哪个事件处理程序使用记录离开页面 - onunload的或onbeforeunload?(Whic

2019-10-21 21:09发布

有没有我以前的关于使用JavaScript来衡量翻页时间问题的任何答案,我要开始写我自己的代码(!)。

为了测量领带需要,我建议下探包含时间戳当用户浏览从页面离开一个cookie,然后在后续页面中,那个时候比较“现在”,并发送回一个URL请求的长度将记录的时间间隔。

看来,有2个可能处理我的第一个块的代码联系起来 - 在onunload的()处理或onbeforeunload()?

它静静地失败与该处理程序没有/断支持的浏览器,比它横跨每一个可能的浏览器的便携式这是更重要的。

任何指针? 陷阱?

TIA

C。

Answer 1:

onbeforeunload不被Opera支持,并真正的意思被用来给用户有机会中止卸载,那么你应该去onunload



Answer 2:

有一件事与任何onunload的或onbeforeunload是,任何Ajax调用必须具备异步:假的财产。 这可以防止代码真正退出,直到调用完成。 除此之外,看到肖恩·金赛的答案。



Answer 3:

我试图在Firefox中使用onunload的,但现在看来似乎并没有给JavaScript的太多时间做有用的东西,所以它是一个跨浏览器的问题。 我可能要使用这两种处理器的组合。



文章来源: Which event handler to use to record leaving page - onunload or onbeforeunload?