在开发拓展程序的时候,因为是给公司内部使用的,所有压根没有打算发布到google拓展商店去使用。网上搜了很多教程都没有一个肯定的答案是否可以放在自己服务器上实现自动更新。后来自己就一步步来尝试了。
注意:目前这个方法只有极速浏览器能够使用 试了qq、google、搜狗等很多都不能够使用
1.xml文件
首先要写一个xml文件,结构很简单
<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
<app appid="daffdpgejakdplgannfalbhandndpkkk">
<updatecheck codebase="https://wangzhi//Plug/test1/plug.crx"
version="2.4.4"/>
</app>
</gupdate>
结构里面看起来有很多属性,但是都不用关心,主要关心codebase和version这两个属性
codebase:自动更新拓展更新的url
version:拓展的版本号
举个栗子:
假设服务器上存储crx(拓展程序)和xml文件的地址分别为
为https://wangzhi//Plug/plug.crx
为https://wangzhi//Plug/update.xml
当前使用的版本为1.0.0
把新开发的拓展放置在服务器上面,版本为1.0.1,地址为https://wangzhi//Plug/plug.crx
把xml中的版本号设置成version=“1.0.1” ,地址为https://wangzhi//Plug/update.xml
2.update_url
在manifest.json文件里面,新增一个字段"update_url"
update_url:"https://wangzhi//Plug/update.xml" //这里的地址是指向服务器上面的xml文件的
完成上述两点之后,在浏览器拓展程序中自动更新的机制是(3-4小时检测一次),也可以手动点击更新按钮
manifest.json
{
"name": "名字",
"update_url":"https://pic.lian-ou.com/H5//Plug/test1/plug1.xml",
"version": "1.0.0",
"description": "12345322",
"manifest_version": 2,
"icons": {
"16": "16.png",
"48": "48.png",
"128": "128.png"
},
"web_accessible_resources": [],
"permissions": [
],
"browser_action": {
"default_icon": "48.png",
"default_title": "name",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": [
],
"js": [
],
"css": [
],
"run_at": "document_start"
}
],
"background": {
"scripts": [
"./publicJs/jquery-3.4.1.min.js",
"background.js"
]
}
}