You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

扩展更新时如何展示对应的release note?是否有相关API支持?

浏览器扩展更新后展示Release Note的实现方案

核心可用API

你可以直接使用浏览器扩展标准提供的runtime.onInstalled事件API实现这个需求,该API会在扩展完成安装、更新、浏览器版本更新时触发回调,你可以通过回调参数判断是否为扩展更新场景,进而触发更新日志的展示逻辑。

示例代码(Chromium系浏览器 Manifest V3)

// 在扩展的background service worker中添加监听逻辑
chrome.runtime.onInstalled.addListener(async (details) => {
  // 仅在扩展更新场景执行后续逻辑
  if (details.reason === 'update') {
    // 可获取更新前的版本号,支持做不同版本间的差异化更新日志展示
    const preVersion = details.previousVersion;
    const currentVersion = chrome.runtime.getManifest().version;
    
    // 方案1:打开独立标签页展示完整更新日志
    chrome.tabs.create({
      url: chrome.runtime.getURL('release-note.html')
    });

    // 方案2:弹出小尺寸悬浮窗口展示更新日志
    // chrome.windows.create({
    //   url: chrome.runtime.getURL('release-note.html'),
    //   type: 'popup',
    //   width: 600,
    //   height: 400
    // });
  }
});

注意:如果是Manifest V2版本的扩展,只需要把上述逻辑放到background page中即可,API调用规则完全一致;Firefox等支持WebExtension标准的浏览器,将命名空间chrome替换为browser即可正常使用。

低打扰备选方案

如果你不想更新后立刻弹窗打扰用户,可以自己做版本对比控制:

  • 每次扩展启动/用户打开扩展popup时,读取chrome.storage.local中存储的上一次用户访问的扩展版本号
  • 和当前扩展版本号chrome.runtime.getManifest().version做对比,如果版本号更高则展示更新日志
  • 用户查看完更新日志后,更新存储的版本号为当前版本即可

内容的提问来源于stack exchange,提问作者qiufeng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:39:00