JavaScript无法直接获取真实页面请求统计,必须依赖后端API、localStorage本地计数、图片标签无感上报或第三方统计平台实现。
javascript 本身不能直接“获取”页面请求统计,因为它运行在浏览器端,无法访问服务器日志或数据库里的真实访问数据。要实现页面请求统计,必须配合后端服务或第三方平台,js 负责采集行为、发起请求、展示结果。核心逻辑是:前端发请求 → 后端记录并返回计数 → 前端渲染显示。
通过后端 API 获取实时访问量
这是最常用且可靠的方式。前端用 fetch 或 XMLHttpRequest 向你自己的统计接口发起 GET 或 POST 请求,后端(如 Node.js、PHP、Serverless 函数)读取并更新数据库/缓存,再把当前总访问数返回给前端。
- 确保后端接口支持跨域(CORS),尤其部署在不同域名时
- 推荐使用 GET 请求获取总数,POST 请求用于上报新访问(避免重复计数)
- 可在 URL 中携带 pageId、utm_source 等参数,便于多页面或渠道区分统计
- 示例 JS 调用:
fetch('/api/visit?path=/article/123')→ 返回{ count: 4826 }→ 插入到<span id="counter"></span>
用 localStorage 做本地粗略统计
适合演示、离线页或仅需记录“该用户第几次打开本页”,不依赖网络,但数据只存在当前浏览器,无法反映真实 PV/UV。
- 每次加载页面时读取 localStorage 中的键(如
page_views_home) - 值不存在则设为 1,存在则 +1 并重新写入
- 注意:localStorage 容量约 5–10MB,但单个键值对不宜过大;清缓存或换设备即丢失
- 简单写法:
let n = parseInt(localStorage.getItem('home_view') || '0') + 1;<br>localStorage.setItem('home_view', n);<br>document.getElementById('counter').textContent = n;
借助图片标签发起无感统计请求
传统但兼容性极佳的方式,利用浏览器自动加载 img 的特性,把统计参数拼进 src URL,不阻塞页面,也不需要等待响应。
- 创建一个隐藏的
<img>标签,src 指向你的统计服务地址(如https://stat.example.com/log?pid=home&t=1720297320) - URL 中可包含时间戳、页面路径、来源 referrer、屏幕尺寸等信息
- 服务端收到请求后记录日志或写入数据库,HTTP 状态码 204(No Content)最合适
- 无需处理 success/fail 回调,失败也不会影响页面功能
接入成熟统计平台(推荐生产环境)
自己维护统计服务有成本和安全风险。正式项目建议直接使用 Google Analytics、Matomo(自托管)、或国内合规平台(如 CNZZ、百度统计)。
立即学习“Java免费学习笔记(深入)”;
- 它们提供轻量 JS SDK,一行代码即可初始化,自动采集 PV、UV、停留时长、来源渠道等
- 支持事件追踪(如按钮点击、表单提交),满足更细粒度分析需求
- 自带可视化看板、API 导出、防刷机制,比手写方案更稳定可信
- 注意隐私合规:GDPR/《个人信息保护法》要求明确告知并获取用户同意后才可启用统计脚本


















