什么?网站统计都要收费了?百度还封了我的账号 艹
现在这年头,不自己动手,什么都用不了,真tmd垃圾。
下面自己搭建,如何利用 Cloudflare 提供的 Serverless Worker 及其 KV(Key-Value)存储,实现一个简单的“访问量统计”功能。访问量数据存储在全球分布的 KV 存储中,所有访问者共享最新访问量,且无需自建服务器。
cf每天有10w次的写入,对于个人blog来说,绰绰有余了。用最简单网页操作方式吧:
1、注册cf的账号。
2、进入 计算 (Workers) 下面的 Workers 和Pages
3、创建 Workers (选择 从 Hello World! 开始 )
4、点击右上角的 </> 编辑代码
5、把下面的代码粘贴进去:
export default { async fetch(request, env) { const url = new URL(request.url); if (url.pathname === '/counter') { let count = await env.wangzhantongjikv.get("count"); count = parseInt(count || "0") + 1; await env.wangzhantongjikv.put("count", count.toString()); return new Response(JSON.stringify({ count }), { headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*", // 允许跨域请求 "Access-Control-Allow-Methods": "GET, OPTIONS", "Access-Control-Allow-Headers": "Content-Type", } }); } return new Response("Try accessing /counter", { headers: { "Content-Type": "text/plain" } }); }, };
6、进入存储和数据库 下面的 KV
7、创建kv,命名为 wangzhantongjikv
8、再进入 计算 (Workers) 下面的 Workers 和Pages
9、点击你刚创建的worker 点 绑定=>添加绑定=>KV命名空间=>添加绑定=>变量写 wangzhantongjikv =>绑定的KV空间选择 wangzhantongjikv =>确定。
10、cf的workers域名国内肯定是访问不了的。 所以还要到 worker => 设置 => 域和路由 => 绑定一个域名。
11、访问 https://你绑定的域名/counter 就能看到记数了。
12、在网站页面适当的位置插入js调用代码。
<h1>访问量:<span id="viewCount">加载中...</span> 次</h1> <script> fetch("https://你绑定的域名/counter") .then(res => res.json()) .then(data => { document.getElementById('viewCount').innerText = data.count; }) .catch(() => { document.getElementById('viewCount').innerText = '加载失败'; }); </script>
将 "https://你绑定的域名/counter" 替换成你的 Worker 部署地址的域名即可。
以上,就算部署完成了。 打开页面看看 是不增加了页面访问计数器~?
这只是一个很基础的计数器。需要更多功能的朋友 自己研究下~
Cloudflare Worker + KV | 简单访问量统计、实时计数(免费) |
Durable Objects | 复杂状态管理、部分实时分析 |
第三方统计工具(GA、百度等) | 全面统计分析、用户行为洞察 |
Cloudflare Logpush + 分析工具 | 企业级日志分析、访问溯源 |
声明:本文仅用于技术交流与合法用途,禁止用于任何违反当地法律的行为。
本文由 网络资源分享 发布,如需转载请注明出处。