我尝试过的任何方法都不起作用。我需要在用户完全离开页面之前运行一些代码:
window.onbeforeunload = function(){
alert(1);
}
window.addEventListener("beforeunload", function(e){
alert(2);
});
window.addEventListener('unload', function(e) { alert(3); })
现在我该怎么做?如果重要的话,在实际应用程序中我使用的是 React 和 nextjs。
作为发送信标(顺便说一句,我的浏览器会阻止)的替代方案,您可以在用户将光标移出窗口时以及在他们通过以下方式杀死选项卡之前捕获用户......
window.addEventListener('mouseout', (event) => {
// do something here
});
当然,用户不一定会在离开窗口时杀死选项卡,但当他离开窗口时更新某些内容也没有什么坏处。