在热代码重新加载期间保留页面上的元素

时间:2014-07-11 11:07:37

标签: meteor meteor-blaze

如果用户正在我的Meteor应用程序中观看视频或流式传输音频,那么在推送新代码时,是否可以使用某些内容来阻止特定播放器元素在热代码重新加载期间刷新/停止/关闭?

目前,如果我对代码库进行更改并且用户正在观看/收听某些内容,则会中断这些内容并且播放器将停止播放。

1 个答案:

答案 0 :(得分:0)

如果有人正在观看视频,您可以使用onMigrate api(未记录)来禁用热代码推送:

function onMigrate (retry) {
  //Return [true, data] to allow it to hot code reload, data being anything you want to be available when the page reloads
  return false;
}

Meteor._reload.onMigrate("someName", onMigrate);
// or Meteor._reload.onMigrate(onMigrate);

还有videocast在eventedmind上覆盖了这个,并在github上对它有点评论:https://github.com/meteor/meteor/blob/devel/packages/reload/reload.js#L81-L94