javascript - 窗口关闭期间的 beforeunload 事件与meteor-auto-reload

标签 javascript meteor

我使用以下函数来检测窗口关闭事件以执行一些清理任务:

    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/

相关文章:

javascript - 如何在 ItemView 的 className 中获取模型属性?

Meteor 帐户电子邮件验证失败有两种方式

javascript - 我如何使用 Meteor 创建多页应用程序?

meteor - 如何在服务器端将文件插入图像、fs.files 和 fs.chunks -GridFS (Ostrio/files)

javascript - Meteor 服务器端 HTTP 请求

javascript - 页面滚动的原因是什么

javascript - fotorama:无法获取 API 对象(未定义)

javascript - 如何使用 Jasmine 对 $scope.broadcast、$scope.$on 进行单元测试

javascript - 在 Datepicker 中将日期格式更改为 yyyy-mm-dd

javascript - 如何突出显示单击的菜单