我正在编写一些代码来跟踪我网站上的用户行为,以便通过确定用户与我网站的交互方式来提高转化率。
这需要我在 unbeforeunload
处理程序内向 Google Analytics 发送一些事件,例如“离开网站”。我对这个事件的触发有几个问题。
- 如果用户切换标签页而不打开新链接,它会触发吗?
- 如果用户点击我网站上带有
target="_blank"
的链接后打开一个新标签页,它会触发吗? - 如果用户访问我自己网站的其他页面,它会触发吗?
- 它会在页面重新加载时触发吗?
还有其他情况会触发吗?
谢谢。
最佳答案
onbeforeunload 将在当前选项卡中“卸载”网页(通过导航到新页面)或关闭当前选项卡之前触发。这意味着:
- 当用户导航到您网站上或网站外的新页面时。
- 当用户关闭标签页或浏览器时
- 当用户刷新页面时
- 当用户提交表单时
回答您的问题
- Does it fire if user switches tabs without opening a new link?
没有
- Does it fire if a new tab is opened after users clicks a link with target="_blank" on my website?
没有
- Does it fire if a users visits some other page of my own website?
是的
- Does it fire on page reload?
是的
当前版本的analytics.js应该(使用sendBeacon())将事件作为POST请求分派(dispatch)给GA,即使在关闭选项卡或浏览器时也应该遵守该请求。
但是,我不太确定“离开网站”是否合适。也许更像是“离开页面”。
关于javascript - 触发 onbeforeunload 事件的所有可能原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52046107/