如何使用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文件