触发 onbeforeunload 事件的所有可能原因是什么?

What are all the possible causes of firing onbeforeunload event?

我正在编写一些代码来跟踪用户在我网站上的行为,以便通过确定用户如何与我的网站进行交互来提高转化率。

这需要我将 "Leaving Website" 等事件发送到 unbeforeunload 处理程序中的 Google 分析。我对这次活动的启动有几个问题。

  1. 如果用户在没有打开新标签的情况下切换标签页,它会触发吗link?
  2. 如果用户在我的网站上单击带有 target="_blank" 的 link 后打开新选项卡,它会触发吗?
  3. 如果用户访问我自己网站的其他页面,它会触发吗?
  4. 是否在页面重新加载时触发?

还有其他触发的实例吗?

谢谢。

onbeforeunload 将在网页 'unloaded' 在当前选项卡中(通过导航到新页面)或当前选项卡关闭之前触发。这意味着:

  • 当用户导航到您网站上或网站外的新页面时。
  • 当用户关闭选项卡或浏览器时
  • 当用户刷新页面时
  • 当用户提交表单时

回答您的问题

  1. Does it fire if user switches tabs without opening a new link?

没有

  1. Does it fire if a new tab is opened after users clicks a link with target="_blank" on my website?

没有

  1. Does it fire if a users visits some other page of my own website?

  1. Does it fire on page reload?

analytics.js 的当前版本应该(使用 sendBeacon())将事件作为 POST 请求发送到 GA,即使在关闭选项卡或浏览器时也应该遵守。

但是,我不确定 'Leaving website' 是否合适。也许更像是 'Leaving page'.