浏
浏览器成就系统
监控上网行为解锁成就,并在配置的网站显示成就浮动窗。⚙️ 支持通过齿轮按钮自定义浮动窗显示网址。🐛 修复悬浮窗点击展开问题。
Statistics
Total Installs
30
Last 24h
+1
User Rating
-
Description
Versions1
Ratings0
Permissions
浏览器成就系统
将日常上网变成一场游戏 —— 后台自动记录你的浏览行为,达成条件即解锁成就。
功能特性
- 后台自动监控:持续记录上网行为数据(访问网站、标签页数量、浏览时间、夜间次数等)
- 多样化成就:内置 10+ 项成就,覆盖浏览、社交、视频、书签等维度
- 实时通知:达成新成就时弹出桌面通知
- 可配置浮动窗:在指定网站右下角显示成就列表,用户可自定义网址
- 齿轮配置面板:通过脚本猫后台的齿轮按钮修改浮动窗显示网址
- 数据持久化:所有进度存储在本地,重启浏览器不丢失
- 悬浮球模式:浮动窗可缩小为悬浮球,支持拖拽和单击展开
安装与使用
前置条件
- 已安装 ScriptCat(脚本猫) 浏览器扩展
- Chrome 应用商店搜索 "ScriptCat" 安装
- 或访问 ScriptCat 官网 获取
安装步骤
- 打开 ScriptCat 扩展管理面板
- 点击"新建脚本"或"导入脚本"
- 将
浏览器成就系统.user.js的完整内容粘贴进去 - 保存并启用脚本
首次使用
- 安装后脚本立即在后台运行,自动记录浏览数据
- 首次运行会注入一批模拟测试数据,方便你查看效果
- 打开 ScriptCat 管理面板,找到本脚本,点击右侧的 齿轮按钮 配置浮动窗显示网址
- 默认网址为
https://347735.xyz,可改为任意你想显示浮动窗的网站 - 修改配置后需刷新目标页面才能生效
- 访问配置的网址,右下角会出现成就浮动窗
配置说明
脚本猫管理面板中,点击本脚本右侧的 齿轮按钮 打开配置面板。
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 浮动窗显示网址 | 输入完整网址(含协议),只有在该网站才会显示成就浮动窗 | https://347735.xyz |
注意事项:
- 网址必须包含协议(
http://或https://) - 匹配方式为前缀匹配,配置
https://347735.xyz可匹配https://347735.xyz/、https://347735.xyz/page等 - 修改后需 刷新目标页面 才能生效
成就列表
| 成就名称 | 图标 | 解锁条件 |
|---|---|---|
| 初次启程 | 🚀 | 脚本首次运行 |
| 夜猫子 | 🦉 | 凌晨 0-6 点间浏览累计 10 次 |
| 信息猎人 | 🔍 | 访问 50 个不同网站 |
| 冲浪达人 | 🏄 | 访问 500 个不同网站 |
| Tab 狂魔 | 🗂️ | 单次打开 20 个以上标签页 |
| 效率大师 | ⚡ | 单次打开少于 3 个标签页 |
| 社交达人 | 🦋 | 社交媒体累计停留 2 小时 |
| 视频迷 | 🎬 | 视频网站观看 20 个视频 |
| 书签收藏家 | ⭐ | 添加 50 个书签 |
| 历史学家 | 📜 | 浏览历史超过 1000 条 |
浮动窗界面说明
位置与外观
- 浮动窗固定在页面 右下角
- 暗色蓝灰主题,带微噪点纹理背景
- 宽度 370px,最大高度 500px
交互操作
| 操作 | 效果 |
|---|---|
| 拖拽标题栏 | 移动浮动窗位置 |
| 点击"−"按钮 | 最小化为悬浮球 |
| 点击"×"按钮 | 关闭浮动窗(10 秒后自动恢复) |
| 点击"↻"按钮 | 刷新成就列表 |
| 点击"模拟访问" | 注入一条模拟访问数据(测试用) |
| 点击"模拟标签页" | 注入一条模拟标签页数据(测试用) |
悬浮球模式
- 最小化后变为 48px 圆形悬浮球
- 拖拽悬浮球可移动位置,不触发展开
- 单击悬浮球(位移小于 5px)展开为完整浮动窗
- 位置和最小化状态自动保存,刷新页面后恢复
状态标识
- 已解锁成就:绿色边框,显示解锁时间
- 未解锁成就:灰色边框,显示当前进度(如"已访问 12 / 50")
数据存储说明
所有数据通过 GM_setValue 存储在本地,不会上传到任何服务器。
| 存储键名 | 类型 | 说明 |
|---|---|---|
browser_achievement_stats |
Object | 行为统计数据(访问数、标签页数、夜间次数等) |
browser_achievement_unlocked |
Array | 已解锁的成就 ID 列表 |
browser_achievement_unlock_times |
Object | 各成就的解锁时间戳 |
browser_achievement_first_run |
Boolean | 是否已完成首次运行初始化 |
browser_achievement_last_check |
Number | 上次定时检查的时间戳 |
browser_achievement_unique_sites |
Array | 访问过的唯一站点 hostname 列表 |
browser_achievement_panel_state |
Object | 浮动窗状态(最小化状态 + 位置坐标) |
stats 对象字段:
| 字段 | 说明 |
|---|---|
totalWebsitesVisited |
累计访问网页次数 |
maxTabsOpened |
单次最大标签页数 |
minTabsOpened |
单次最小标签页数 |
nightBrowsingCount |
夜间浏览次数(0-6 点) |
socialMediaTime |
社交媒体停留秒数 |
videoWatchedCount |
视频观看次数 |
totalBookmarks |
书签总数 |
historyEntriesCount |
历史记录条数 |
常见问题(FAQ)
Q1:修改了浮动窗网址为什么没生效?
配置修改后需要 刷新目标页面。脚本是每次页面加载时读取配置,修改配置不会立即对已打开的页面生效。关闭目标页面重新打开,或按 F5 刷新即可。
Q2:浮动窗不显示怎么办?
按以下顺序排查:
- 确认脚本已在 ScriptCat 中 启用
- 确认当前页面 URL 与齿轮面板中配置的网址 前缀匹配
- 尝试 刷新页面
- 检查浏览器是否 拦截了通知权限(部分浏览器需要允许通知)
- 尝试点击 ScriptCat 菜单中的"重置所有数据",然后刷新页面
Q3:如何重置数据?
点击 ScriptCat 工具栏图标,在脚本菜单中点击 "重置所有数据"。这会清空所有成就进度和统计数据,刷新页面后重新开始。
Q4:成就通知没弹出?
可能的原因:
- 浏览器 关闭了通知权限 → 进入浏览器设置,允许该网站的通知
- 系统 关闭了通知 → 检查操作系统的通知设置
- 成就 已经解锁过,不会重复通知
- 页面刚加载,成就检测需要等定时任务触发(最多 10 分钟),或手动点击浮动窗中的"模拟访问"按钮触发检测
Q5:悬浮球点了没反应?
v2.1.0 已修复此问题。脚本通过 5px 位移阈值 区分点击和拖拽:
- 鼠标按下后移动距离 小于 5px → 视为点击,展开浮动窗
- 移动距离 大于等于 5px → 视为拖拽,仅移动位置
如果仍然没反应,请确认脚本版本为 v2.1.0 或更高。旧版本存在点击与拖拽事件冲突的 bug。
更新日志
v2.1.0
- 修复:悬浮球点击展开问题(点击/拖拽 5px 阈值分离)
- 新增:浮动窗状态持久化(最小化状态 + 位置坐标存入 GM 存储,刷新恢复)
- 优化:所有按钮点击事件加
stopPropagation防止误触发拖拽 - 优化:拖拽手感连续,位移超过阈值才标记为拖拽
v1.0.0
- 初始版本
- 10 项成就检测(浏览、社交、视频、书签等)
- 后台定时任务(每 10 分钟检查成就)
- 暗色主题浮动窗(可拖拽、可最小化、可关闭)
- 桌面通知(成就解锁弹窗)
- 菜单命令(查看成就面板、注入测试数据、重置数据)
- UserConfig 齿轮配置面板(自定义浮动窗显示网址)
免责声明
- 本项目 仅供学习和娱乐用途
- 所有数据存储在 本地浏览器中,不会上传到任何服务器
- 用户 自愿安装和使用 本脚本
- 开发者 不对 因使用本脚本造成的任何直接或间接损失承担责任
- 成就检测基于本地浏览数据,仅作娱乐参考,不代表真实浏览行为的完整记录
贡献与反馈
- 问题反馈:在使用中遇到 bug 或有功能建议,欢迎提交 Issue
- 代码贡献:欢迎提交 Pull Request,请确保代码风格一致、注释完整
- 成就创意:如果你有新的成就点子,欢迎在 Issue 中提出
许可证
本项目采用 MIT License 开源协议。
你可以自由复制、修改、分发本代码,但请保留原始许可证声明。
Statistics
Total Installs
30
Last 24h
+1
User Rating
-
Script Details
Applicable Sites
License
Not declared
No license declared — reuse with caution
Permissions & access
Cross-origin access
*
Capabilities
StorageMenu commandNotificationsOpen tab