You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用Javascript为浏览器扩展实现上网数据用量统计功能?

Chrome 流量统计扩展开发入门思路

关于你提到的 Angular 版 Data Usage Extension 适配性说明

  • 不建议新手入门从这个项目切入,原因有二:
    1. 该项目使用的angular.module属于AngularJS(1.x版本),是早已停止维护的旧框架,额外学习旧框架会大幅增加你的入门成本,核心功能用原生JavaScript完全可以实现
    2. 这类旧项目大概率基于Chrome扩展Manifest V2规范开发,目前Chrome已经全面推行Manifest V3,V2规范的扩展2024年起就无法在Chrome应用商店上架,相关API也存在大量不兼容的情况,参考价值很低

最小可行版本开发步骤(适配Manifest V3,原生JS实现,适合新手)

1. 先理清扩展核心文件结构

你只需要准备4个基础文件就能跑通核心功能,不需要任何第三方框架:

  • manifest.json:扩展的全局配置文件,需要声明webRequest、storage权限,以及<all_urls>主机权限,才能捕获所有页面的请求数据
  • service-worker.js:扩展的后台运行线程,持续监听请求、统计流量、存储数据,不会随标签页关闭而停止
  • popup.html:点击扩展图标弹出的展示页面,用来展示统计结果
  • popup.js:弹出页的交互逻辑,负责从存储中读取统计数据并渲染到页面

2. 核心流量统计逻辑实现

流量统计的核心是监听所有已完成的网络请求,累加响应体积即可:

  • 后台线程中调用chrome.webRequest.onCompleted.addListener()监听所有请求完成事件
  • 从请求回调的响应头中读取Content-Length字段,即为单次请求的流量大小,部分无该字段的请求新手阶段可直接跳过,优先保障核心逻辑跑通
  • 统计结果按日期、域名维度分类,用chrome.storage.local做本地持久化存储,方便后续查询展示

3. 开发顺序建议

  1. 先写最简版manifest.json,把扩展加载到Chrome中,确认基础运行正常
  2. 先实现请求监听的测试逻辑,在控制台打印每次请求的流量大小,确认能正常拿到数据
  3. 实现数据累加存储逻辑,按维度存到本地存储中
  4. 最后写弹出页的展示逻辑,用原生JS读取存储数据,简单渲染成列表即可,不需要复杂UI

后续优化方向

等核心功能跑通后,你可以按需添加功能:比如流量超限提醒、按周/月维度统计、域名流量排序、数据导出等,都是在现有逻辑基础上叠加即可,不需要重构核心代码。

内容的提问来源于stack exchange,提问作者Ostrale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:09:00