Chrome 插件从开发到发布
仔细说起来这周发布的插件已经是我做的第三个插件了,不过前两个都没有发布(更没有人用),稍微总结一下 Chrome 插件开发中的一些问题。
Chrome 插件这种老东西至今已经有很完整的中文文档了:https://crxdoc-zh.appspot.com/extensions/getstarted
开发
基本上开发的思路和一般的前端代码是一模一样的,需要特别处理的只有一些权限问题。
当然在开发前,首先需要纠结一下,是否需要使用一些框架,或者是使用 npm。
目前来说,还是功能不太强的,代码行数并不多的一些针对网站的增强插件,可以直接用原生写,而对于那些功能复杂的可能用框架或者 npm 可以减少我们的开发成本。
和一般的前端开发主要的区别在于 manifest 。
比如在我们的 new tab 项目中,需要调用到指定网站的 API,就必须把该网站写进我们的 permission
,否则没有办法顺利的调用。
需要一些特别的权限也需要写进 permission
,比如地理位置(Chrome 的地理位置 API:有时好用)。
另外,Chrome 插件不存在跨域问题,可以随便调用,这一点还是挺爽的。
普通网页可以通过 XMLHttpRequest 对象向远程服务器发送和接收数据,但是它们受到相同来源策略的限制。扩展程序不受这一限制,只要首先请求跨站权限,扩展程序就可以与来源范围外的远程服务器通信。
发布
发布前建议在 manifest
中写上 short_name
字段以便访问(因为中文名路径会很乱)。
对于在 Chrome Store 中上线的插件,可以不用考虑自动更新问题(实际上目前对于非 Chrome Store 的插件已经非常不友好到几乎没法使用了所以……),在发布的新版通过审核之后使用者重启自己的 Chrome 会自动安装上新版并启用。
最困难的要数保护费问题,通过开发者认证需要五美元的保护费,虚拟信用卡基本上不可能通过了……所以……还是挺尴尬的。
但是总的来说,Chrome 开发还是相当简单的,只是不同的需求对应不同的功能 API 可能又得重新看一遍文档(手动滑稽)。
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。
亲测财付通虚拟运通卡可以通过
可惜早几百年停止申请了?