首页 > 解决方案 > 如何为 Chrome 扩展测试 chrome.runtime.onInstalled?

问题描述

我想知道是否有办法测试 chrome.runtime.onInstalled 处理程序。基本上我正在开发一个 chrome 扩展,它使用 chrome 存储将某些数据保存在内存中。但是,在我的新版本中,我想对 chrome 存储的数据模型进行更改。出于这个原因,我想我需要编写一个迁移文件,当旧版本更新到新的 chrome 版本时触发并迁移数据。

chrome.runtime.onInstalled.addListener((details => {
  if (details.reason === 'update') {
    console.debug(`Upgrading from version ${details.previousVersion}`)
    const previousVersion = parseVersion(details.previousVersion || '0.0.0')
    if (compareVersions(previousVersion, [1, 1, 0]) <= 0) {
      upgradeFrom1_1_0()
    }
  }
}))

我想在上面使用 onInstalled ,但我想知道是否有任何方法可以正确测试它。有人有想法吗?任何建议表示赞赏,谢谢!

标签: javascriptgoogle-chromegoogle-chrome-extension

解决方案


您必须创建两个不同的 crx 文件。这些是步骤:

  1. 为旧版本创建 .crx 文件并将 .pem 文件分开保存
  2. 将 .crx 文件拖到 chrome://extensions/ 页面并确认安装
  3. 使用刚刚保存的 .pem 文件为较新的版本创建 .crx 文件
  4. 将后一个 .crx 文件拖到 chrome://extensions/ 页面上并打开 devtool 控制台以检查更新。

请记住:某些浏览器不再允许从 crx 文件进行安装。有两种方法可以解决这个麻烦。我告诉你最快的方法。安装仍然允许这种类型安装的 SRWare Iron 浏览器


推荐阅读