浏览器插件劫持 B 站追番进度功能

2024-04-17 · 周三一般多云

晚上在写一个通过浏览器插件注入脚本到页面截取 B 站 API 数据,实现追番进度获取和转存到小窝后端的功能。目前已经完成了在插件获取进度的功能,后端更新进度的接口还没开干呢。

主要逻辑就是创建一个用于注入页面的 JS 文件,使用 Object.defineProperty 改写 XHR 的方法以劫持数据,通过 setInterval 待多个 API 均被请求则计算进度,待后续提交到服务器。注意需要指定启动模式为 document_start,否则人家全加载完了你才注入就拿不到接口数据了。

export const config: PlasmoCSConfig = {
  run_at: "document_start",
  matches: ["https://www.bilibili.com/bangumi/media/*"],
  world: "MAIN",
};

期间还参考了下面的内容,主要的业务实现在这里就不多概述了。

本来要继续日常原神崩铁的,但原神有相当一部分要刷体力的任务都给我同事了(他在帮我刷本换圣遗物,就顺带换掉体力了)

Paul

Paul

特立独行的一只前端菜狗。这篇日记编写大概耗时了 9 分钟,内容均为个人原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!如本站内容对你有所帮助的话,不妨 捐助支持 一下?

奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君