我使用以下函数来检测窗口关闭事件以执行一些清理任务:
window.addEventListener('beforeunload', function(e) {
console.log("window close");
// perform cleanup
}
不幸的是,我也在 meteor 自动重新加载期间收到此事件(例如,当代码发生更改时),在此期间我不想执行清理。
如何区分这两种情况? (我有一个特殊的用例,我必须区分这两种情况)
最佳答案
您必须利用 Meteor onmigrate
api,它可以帮助您区分两者:
客户端代码:
var hotcodepush = false;
Reload._onMigrate(function () {
hotcodepush = true;
return [true];
});
window.addEventListener('beforeunload', function(e) {
if(!hotcodepush) console.log("window close");
if(hotcodepush) console.log("Hot code reload");
}
关于javascript - 窗口关闭期间的 beforeunload 事件与meteor-auto-reload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21940888/