我尝试使用onbeforeunload事件来记录页面的一些最终日志(我不能在访问过程中这样做,因为我必须在用户离开之前获得日志)。
function handleBeforeUnload(evt) {
evt.preventDefault();
evt.returnValue = '';
// make some log
logSomeFinalizedInfo();
return null;
}
但是,在Android手机上,这弹出了一条消息“你确定要离开吗”,这是意料之外的,我如何使用这个事件处理程序而不会有这个消息弹出?
2条答案
按热度按时间czq61nw11#
请考虑使用专门用于此目的的
Beacon API
。更多信息请点击此处-https://developer.mozilla.org/en-US/docs/Web/API/Beacon_API
这些技术不仅表现出糟糕的编码模式,其中一些还不可靠,导致下次导航时页面加载性能较差。Beacon API提供了解决这些问题的标准方法。
66bbxpm52#
最后找到了解决办法,就是使用后删除句柄(removeEventListener):