use*_*er3 2 google-chrome userscripts google-chrome-extension
我目前正在将用户脚本更新为Chrome扩展程序,但由于新ID不同,因此不会更新旧扩展程序,而是添加新扩展程序.
有没有办法将用户脚本转换为Chrome扩展程序并保留相同的ID?
由于没有用户脚本的密钥文件,我认为它可能,
但如何?
用户脚本在加载时会转换为Chrome扩展程序.请按照以下步骤创建和维护具有相同ID的扩展:
chrome://extensions/并激活开发者模式.
@version).--user-data-dir=...旗帜启动Chrome/chromium ,请访问..../tmp/或%tmp%.
好的,步骤6-7是可选的,它们仅用于显示用户脚本被转换为真正的扩展名,并设置了特殊标志.您还可以注意到有关清单版本的红色警告.要修复它,编辑manifest.json和添加"manifest_version": 2,.所以,在我们的案例中:
...
"converted_from_user_script": true,
"description": "Description of user script",
"key": "eYxnPzfSPtfL3ji4nQX3ujTXpzz3YQ6dVlvHWf1gvW8=",
"name": "Userscript",
"version": "1.0",
"manifest_version": 2
}
现在,您有一个Chrome扩展程序,其行为类似于Chrome扩展程序,具有一些额外的风格.按照官方文档中的步骤更新您的包:
更新包
要创建扩展程序的更新版本:
- 增加版本号
manifest.json.- 转到此网址,打开Extensions管理页面:chrome:// extensions
- 单击包扩展按钮.出现一个对话框.
- 在" 扩展根目录"字段中,指定扩展名文件夹的路径 - 例如,
c:\myext.- 在私钥文件字段中,指定
.pem此扩展的已生成文件的位置- 例如,c:\myext.pem.- 单击确定.
将以前打包的扩展程序上传到Chrome网上应用店
您可以使用Chrome开发人员信息中心上传您之前自行打包的扩展程序.但是,除非您采取特殊步骤,否则Chrome网上应用店中的扩展程序ID将与您创建的程序包中的ID不同.如果您已分发扩展程序包,则此不同的ID可能会出现问题,因为它允许用户安装扩展的多个版本,每个版本都有自己的本地数据.
如果要保持扩展ID相同,请按照下列步骤操作:
- 将创建
.crx文件时生成的私钥重命名为key.pem.- 放入
key.pem您的扩展程序的顶级目录.- 将该目录压缩为ZIP文件.
- 使用Chrome开发人员信息中心上传ZIP文件.
可以通过"key"清单文件中的参数来控制扩展的extensionID .在解压缩和打包扩展中具有相同ID的最简单方法也在文档中说明:
key在开发期间加载扩展,应用或主题时,此值可用于控制扩展,应用或主题的唯一ID.
注意:您通常不需要使用此值.相反,编写代码,以便通过使用相对路径和 键值无关紧要
chrome.extension.getURL().要获得合适的密钥值,请先从.crx文件安装扩展程序(您可能需要上传扩展程序或手动打包).然后,在您的用户数据目录中,查看该文件
Default/Extensions/<extensionId>/<versionString>/manifest.json.您将看到填充的键值.
当该key字段不存在时,它是随机生成的.然后,从该密钥生成extensionID.这里解释了生成extensionID的算法.根据算法的性质,您无法以相反的顺序执行它(extensionID - > key).
| 归档时间: |
|
| 查看次数: |
1002 次 |
| 最近记录: |