上传
浏览器扩展插件是浏览器中一个很重要的组成部分,如果我们上架谷歌微软火狐这种商店,这些商店的运营很好,上传体验也很好。而国内浏览器良莠不齐,我看过很多浏览器,插件市场有没在维护都不知道呢,而且上传体验很差,要知道谷歌商店不久刚更新了一个新的UI版本的控制台。国内浏览器太多,总不能一个个去上传吧。所以要有一个解决方案是为了国内的大众浏览器。于是参考fanyi.baidu.com
实际他们是把插件打包为crx然后直接让用户下载安装,也就是不走应用市场渠道,直接让用户去安装。那么我就想这么尝试去让用户去安装。(火狐不是crx文件,有自己一套体系)。
这里说到一点,像我用谷歌稳定版(如今是81)打包的crx文件,如果安装的浏览器太老是会报错了,比如图上的猎豹浏览器,它的内核还是57,3年多前的版本居然还没更新。
Crx打包文件让用户下载也是有局限的,在edge,chrome这种比较厉害的浏览器,如果你直接安装会禁止掉,他们为了安全会禁止所有的非应用商店里的应用,所以国外的这些浏览器还是直接上传的商店比较好。
更新
如果上传到谷歌,微软这样的市场,插件的配置文件manifest.json会变化,会增加或者改变(你自己弄了)里面的key值,相当于他们自己维护一套,而且里面的update_url也会指向他们的地址,毕竟这两个浏览器很接近,做法是差不多的,里面的key是商店自己维护的。而火狐是不会去管,更新机制应该他们是完全不一样的(托管到火狐商店)。
Update_url是可以控制浏览器发送请求的,我对很多国内浏览器都试了一下,(好多浏览器。。。。。)当我点击更新的时候,我的服务器端并没有收到请求,(也有一些浏览器我扩展按钮都找不到,而且点击更新没有反馈,体验很差)也就是说如果你直接依赖安装crx然后配置这个参数进行更新,应该是不可能的。但是在Opera浏览器中居然可以用,它会提示你要不要安装,然后你点击更新它会对服务器发请求。(打开浏览器好像也会发请求吧,是有一个定时请求的策略)。
在微软和谷歌浏览器中我也尝试了,也是可以更新的,只是它不让你用这个插件而已,哈哈这可真气人呢。
所以我这里就默认update_url在国内大众浏览器都不可用,所以我们更新的话,只能用js判断服务器上的一个文件,让它去存放版本号,匹配一下是否要更新,然后给用户一个提示,在服务器放好crx文件让用户去下载它。
给你代码|往期回顾:
给你代码:阿里云短信验证码登录开发集成
妈妈再也不用担心我记不住密码了:鲲圭填鸭|给你代码
给你代码:短链接生成原理