首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有任何显示公告消息,让用户知道新版本的更新?

是否有任何显示公告消息,让用户知道新版本的更新?
EN

Stack Overflow用户
提问于 2014-10-29 15:49:20
回答 1查看 62关注 0票数 0

我正在开发chrome扩展,因为我知道Chrome开发者仪表板会在chrome商店中有新版本时自动更新新版本给用户。但是我想在用户接受更新之前通知用户有新的版本扩展吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-29 17:32:41

只要您的扩展正在运行,就有一个事件允许您拦截“更新可用”状态:

在更新可用但由于应用程序当前正在运行而未立即安装时激发。

但是,您不能允许用户取消更新。它将在下次重启Chrome时安装为最新版本:

如果您什么都不做,更新将在下一次卸载后台页面时安装,如果您希望更快安装,可以显式调用chrome.runtime.reload()。如果你的扩展使用的是一个持久的后台页面,那么后台页面当然永远不会被卸载,所以除非你手动调用chrome.runtime.reload()来响应这个事件,否则在下次chrome本身重新启动之前,更新是不会被安装的。

此事件的目的是允许您的扩展在更新之前正常结束操作。如果您不监听此事件:

如果没有处理程序正在侦听此事件,并且您的扩展具有持久的后台页面,则它的行为就像调用chrome.runtime.reload()来响应此事件一样。

所以,重述一下:

您无法停止客户端上的更新,但您可以延迟更新。

代码语言:javascript
复制
chrome.runtime.onUpdateAvailable.addListener( function(details) {
  // Show a dialog to the user that an update to version `details.version`
  // is available, and ask if they want to update now

  if (updateNow) {
    // Gracefully terminate all work
    chrome.runtime.reload();
  }
});

要在更新后检测它是否发生(并可能向用户显示changelog,等等),您可以监听onInstalled事件:

onInstalled

在第一次安装扩展时,当扩展更新到新版本时,以及当Chrome更新到新版本时激发。

代码语言:javascript
复制
chrome.runtime.onInstalled.addListener( function(details) {
  switch(details.reason) {
    case "install":
      // First installation
      break;
    case "update":
      // First run after an update
      break;
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26625128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档