还在为线上 bug 无法快速修复而被客户抱怨吗? 老司机带你开发一个简单的 chrome 插件轻松搞定.

1,111 阅读2分钟

web bug fixed tool(web线上快速修复charome插件)

缘起

由线上的一个工单想到的关于问题快速处理的解决方案:采用chrome插件,快速解决客户的线上bug; 注意:这种方式的目的就是快速解决客户的问题,并且只是临时修改.修复补丁将会在下一次正式线上版本通过发布后被忽略;

适合场景

  1. 线上有bug,且客户比较着急;
  2. 短期由于各种原因,无法快速更新线上代码。原因有很多种,比如:
    1. 目前有功能正在开发;
    2. 即时开发后,也需要提交测试,然后走发布流程;
    3. 没想好完整的解决方案,但是客户又比较急,只能先做一个临时的修复方案,快速解决客户的问题;

设计思路

  1. 通过开发chrome 插件,实现一套脚本加载并执行的机制。把插件分发给用户安装后, 插件以注入脚本的形式解决客户燃眉之急;
  2. 为每一个补丁分配ID,后台控制补丁是否可运行;脚本注入页面后,先根据后台的配置,判断是否可运行,提高性能,以及控制补丁的生命周期;
  3. 补丁的插件客户只需要安装一次;
  4. 后续实现一套补丁发布系统,对补丁脚本进行简单测试,发布等管理.当有补丁要发布,插件在启动时读取到需要运行的补丁脚本,然后注入到网站页面中,实现动态发布;
  5. 目前v0.0.1只实现了一个初步框架.后续有时间逐步完善.

插件运行截图

插件截图

代码说明

  1. 编写脚本,主要是content_script.js.这里的代码被配置成会注入到manifest.json指定的网站中;
  2. 调试的时候,通过F12下的source左侧的content script tab,可以看到加载的脚本.添加断点即可;
  3. 打包,通过chrome的扩展程序界面,打开开启本地调试,然后顶部会有一个打包扩展程序的按钮,点击选择扩展程序的目录,然后生成即可;

    FAQ

  4. 解决非插件商店安装被禁用的问题.(www.liu16.com/post/Chrome…);