如何使用Chrome浏览器,打包生成自己的插件(crx格式文件)?

转载来自:https://blog.csdn.net/wanwuguicang/article/details/79742017

chrome extension,文件扩展名为crx,俗称chrome扩展,chrome插件。

crx文件本质就是ZIP文件,只是谷歌在ZIP文件头,插入了自定义的私有字段,如,插件描述,插件ID,密钥等。

用户可以手动修改crx文件的扩展名,修改为zip,然后使用普通的解压工具,就能解压。

开发者提交自己的插件时,提交的是文件就是压缩包zip文件。

而谷歌后台,则根据压缩包,自动生成crx文件。

注意:chrome依靠插件ID,而不是插件名字,判断是否为同一个插件。

开发者提交插件更新时,即使修改产品名称,也不会影响用户的插件升级。

上面属于背景知识,题外话,下面回到正题。

———————————我不是分割线—————————————————

如何打包生成自己的插件呢?

打开插件管理页面(chrome://extensions/)。

点击右上角的“开发者模式”按钮后,再点击“打包扩展程序”,就会弹出“打包扩展程序”对话框。

废话不说,一图胜万言。

 

根据提示,选择扩展程序根目录,就会生成crx文件了。

这里有一个问题,如果是第一次生成CRX文件,Chrome会在其根目录下生成一个pem密钥文件。

举个栗子:

你有一个扩展程序,文件名为MyFirstExtension,那么扩展程序根目录为:F:\Project\MyFirstExtension

那么生成的文件路径就是:F:\Project\MyFirstExtension.crx,F:\Project\MyFirstExtension.pem。

那么问题来了,pem密钥文件有何用处呢?

很简单,用于生成插件ID,区分插件的。

假设,你当前插件叫做MyFirstExtension,版本号为1.0,

而下一次升级时,你想把产品名称改为MySecondExtension,版本号为2.0。

但,如何保证Chrome认为它们是一款插件呢?

这个时候,就需要pem密钥文件了,再次生成crx文件时,选择pem文件。

 

它就能保证新生成的crx文件,与原有的crx文件的id是一样的,

这样,部署插件时,就能保证Chrome浏览器,认为它们是同一个插件了。

附:

1.对于开发者而言,开发测试时,使用的是未压缩的文件夹,而其插件ID是根据插件所在的绝对路径计算而来的。

也就是说,解压后的插件,复制到其它目录,

然后在开发者模式下,通过“加载已解压的扩展程序”重新加载插件文件夹后,其插件ID也会跟着变化。

2.开发者提交给Chrome官方的是ZIP文件,不能是CRX文件

posted @ 2021-12-30 14:55  冰糖葫芦很乖  阅读(5011)  评论(5编辑  收藏  举报