javascript - 如何为 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 ,但我想知道是否有任何方法可以正确测试它。有人有想法吗?任何建议表示赞赏,谢谢!
解决方案
您必须创建两个不同的 crx 文件。这些是步骤:
- 为旧版本创建 .crx 文件并将 .pem 文件分开保存
- 将 .crx 文件拖到 chrome://extensions/ 页面并确认安装
- 使用刚刚保存的 .pem 文件为较新的版本创建 .crx 文件
- 将后一个 .crx 文件拖到 chrome://extensions/ 页面上并打开 devtool 控制台以检查更新。
请记住:某些浏览器不再允许从 crx 文件进行安装。有两种方法可以解决这个麻烦。我告诉你最快的方法。安装仍然允许这种类型安装的 SRWare Iron 浏览器
推荐阅读
- excel - 文件路径链接在浏览器中打开
- google-chrome - 来自 Web UI 的 Google Cloud Storage 上传冲突
- websocket - 如何让猫鼬管理多个 websocket URL
- python - 在 Python 中使用 astype('float32') 时出错
- apache-kafka - 用于 Kafka 处理程序的 Oracle GoldenGate 大数据适配器
- class - 如何使用单独的 js 文件在本机反应的屏幕之间导航
- ionic3 - 如何在 Ionic 3 中创建自定义加载微调器
- python - 获取一组 SNP 的所有可能的基因型组合的方法
- vba - 如何检查不同工作表中的单元格是否相等?
- amazon-s3 - AWS 密钥和角色在同一 aws s3 cp 命令中的使用