web bug fixed tool(web线上快速修复charome插件)
缘起
由线上的一个工单想到的关于问题快速处理的解决方案:采用chrome插件,快速解决客户的线上bug; 注意:这种方式的目的就是快速解决客户的问题,并且只是临时修改.修复补丁将会在下一次正式线上版本通过发布后被忽略;
适合场景
- 线上有bug,且客户比较着急;
- 短期由于各种原因,无法快速更新线上代码。原因有很多种,比如:
- 目前有功能正在开发;
- 即时开发后,也需要提交测试,然后走发布流程;
- 没想好完整的解决方案,但是客户又比较急,只能先做一个临时的修复方案,快速解决客户的问题;
设计思路
- 通过开发chrome 插件,实现一套脚本加载并执行的机制。把插件分发给用户安装后, 插件以注入脚本的形式解决客户燃眉之急;
- 为每一个补丁分配ID,后台控制补丁是否可运行;脚本注入页面后,先根据后台的配置,判断是否可运行,提高性能,以及控制补丁的生命周期;
- 补丁的插件客户只需要安装一次;
- 后续实现一套补丁发布系统,对补丁脚本进行简单测试,发布等管理.当有补丁要发布,插件在启动时读取到需要运行的补丁脚本,然后注入到网站页面中,实现动态发布;
- 目前v0.0.1只实现了一个初步框架.后续有时间逐步完善.
插件运行截图
代码说明
- 编写脚本,主要是content_script.js.这里的代码被配置成会注入到manifest.json指定的网站中;
- 调试的时候,通过F12下的source左侧的content script tab,可以看到加载的脚本.添加断点即可;
- 打包,通过chrome的扩展程序界面,打开开启本地调试,然后顶部会有一个打包扩展程序的按钮,点击选择扩展程序的目录,然后生成即可;
FAQ
- 解决非插件商店安装被禁用的问题.(www.liu16.com/post/Chrome…);