每次访问一个网站,Chrome 都会代替它在你的电脑上写入数据。有些你知道:Cookie、登录会话。更多你可能没想到:试用次数计数器、"已看过此弹窗"标记、A/B 测试分配、新手引导完成标记、多步操作的进度状态。
网站不需要知道你是谁,就能记住你做了什么。它只需要把数据写进 localStorage 或 IndexedDB,Chrome 就会无限期保存——直到你主动清除。
关键认知: 网站对你"记住"的很多东西并不存储在他们的服务器上,而是存在你的浏览器里。这意味着你可以在不影响账号的情况下直接清除它。VertiTab 的 Debug 模式一键完成这件事。
Chrome 为每个站点存了什么
访问任何一个域名,都会有多套独立的存储系统同时运行:
| 存储类型 | 网站用来存什么 | 刷新后还在吗? |
|---|---|---|
localStorage | 使用次数、偏好设置、试用标记、功能开关 | ✓ 永久保存 |
IndexedDB | 应用状态、离线数据、结构化内容 | ✓ 永久保存 |
sessionStorage | 多步骤表单状态、向导进度 | 关闭标签页后消失 |
| Cache Storage | 离线资源、Service Worker 文件 | ✓ 永久保存 |
| Service Workers | 离线缓存版本 | ✓ 直到手动注销 |
| Cookie | 会话、追踪、试用到期标记 | 直到过期日 |
关键是最后一列。这些数据在强制刷新、清空缓存刷新乃至浏览器重启后都原封不动地保留,直到被显式删除为止。
为什么很多网站把"限制"存在客户端
你看到过很多"免费试用 N 次后登录继续"的提示,背后的机制通常是这样的:
- 你在不登录的情况下使用了某个功能
- 网站在
localStorage里写了一个计数器:{ trialUsed: 1 } - 下次访问时,读取这个计数器来决定是否显示付费提示
- 整个判断过程在你浏览器里的 JavaScript 里完成,没有请求任何服务器
这个模式在大量产品中普遍存在:
- AI 工具提供几次免费对话
- 文档编辑器的免费页数限制
- 视频转换工具的免费文件数限制
- 语法检查工具的免费字数配额
- 各种 SaaS 产品的试用模式
同样的机制也出现在非商业场景:新闻媒体用 localStorage 统计本月阅读文章数(软性付费墙)、教程平台记录你完成了哪些章节、新手引导流程只对"首次用户"展示。
清除站点数据到底重置了什么
使用 Debug 模式清除一个站点的数据后,以下内容会被重置:
对普通用户:
- localStorage 或 Cookie 里的试用使用次数
- "已看过此优惠/弹窗"标记
- 软性付费墙的文章阅读计数
- 弹窗抑制标记("不再显示")
- A/B 测试分配(下次加载会重新分配版本)
对开发者:
- 数据库 Schema 变更后的脏数据
- Service Worker 还在提供旧版本缓存
- 数据迁移失败留下的损坏 IndexedDB 记录
- 上次测试会话遗留的认证 token
两类用户重置的是同一套底层存储,区别只是重置的目的不同。
清除站点数据无法重置什么
需要明确这个工具能做什么、做不到什么:
无法绕过:
- 服务端的使用计数(网站在自己服务器上记录了你的 IP 或设备指纹)
- 基于账号的限制(登录状态下的配额在服务端)
- 绑定手机号或支付方式的试用限制
可以重置:
- 完全在客户端存储、没有服务端校验的限制
- 网站没有持久化到服务端的会话状态
- 本地存储的偏好设置和各种标记
很多试用系统单纯用客户端存储,因为对匿名用户来说实现最简单。但更完善的系统会做服务端校验。是否能重置,只有试了才知道。
如何使用 Debug 模式
标签级(一次性):
- 在 VertiTab 侧面板中右键点击目标标签页
- 选择 启用 Debug 模式
- 在弹窗中勾选需要清除的存储类型
- 如需持久生效,勾选"应用到该站点"
站点级(持久):
- 打开 VertiTab 设置 → 站点设置
- 找到对应 hostname 的站点
- 开启 Debug 模式 开关
- 点击配置设置各存储项
开启后,侧面板标签旁出现 🐛 图标。点一下,清除和刷新同步完成,无需打开 DevTools。
可配置的清除项: Cache Storage、localStorage、sessionStorage、IndexedDB、Service Workers、Cookie、历史记录
想保留登录状态?精准排除 Cookie
清除所有 Cookie 会让你登出。如果你想重置使用数据但保留登录状态,可以使用 Cookie 排除列表。
加载当前标签页的全部 Cookie,勾选要保留的项目——认证 token、CSRF token、会话标识符——其余的照常清除。排除规则支持仅名称匹配(session_id)和带域名的精确格式(api.example.com:token)。
判断规则:什么时候用 Debug 模式
| 情况 | 操作 |
|---|---|
| JS/CSS 不更新 | 强制刷新就够了 |
| 网站"记住"了你用过试用 | Debug 模式 |
| A/B 测试一直是同一个版本 | Debug 模式 |
| 新手引导流程不再出现 | Debug 模式 |
| 应用状态更新后出错 | Debug 模式 |
| 不确定是什么原因 | Debug 模式,最安全的起点 |
使用场景
免登录工具的试用次数重置 — 很多 AI 助手、文档工具、格式转换器、SaaS Demo 允许不登录直接试用。用了几次之后出现"注册以继续"的提示,这个计数器通常存在 localStorage 或 Cookie 里。清除后,计数器归零,网站把你当新用户对待。
软性付费墙的文章阅读限制 — 新闻媒体和内容平台经常用 localStorage 统计当月文章阅读数。这和需要登录的硬性付费墙不同。清除站点数据后计数重置,你重新成为"首次访客"。
重新体验新手引导流程 — 产品向导和欢迎流程通常由 localStorage 里的 hasCompletedOnboarding: true 标记控制,只显示一次。清除后可以重新走一遍——适合评估产品体验或测试 UX 的场景。
部署后 SPA 状态异常 — Schema 更新后用旧数据的用户出错。Debug 模式清除旧的 IndexedDB 记录,在干净的起点测试数据迁移路径。
Service Worker 不更新 — 部署了新版本但 SW 还在提供旧缓存。Debug 模式一步注销 SW 并清除其缓存。
QA 回归测试 — 一键建立可重复的干净起点,不需要在每次测试前手动操作 DevTools。
常见问题
Q:为什么那么多网站把"限制"存在 localStorage 里而不是服务器上?
A:对匿名用户来说,客户端存储不需要任何后端基础设施,实现最简单,无服务端成本,也不需要用户身份识别。代价就是它很容易被清除——这也是为什么规模更大的产品最终都会迁移到服务端校验。
Q:清除站点数据会让我退出登录吗?
A:取决于你的配置。如果清除了 Cookie 而你的会话存储在 Cookie 里,就会退出。用 Cookie 排除列表保留认证 Cookie,同时清除其他存储类型即可。
Q:对使用账号限制的应用有效吗?
A:没有效果。如果网站在服务端验证你的使用配额,清除客户端数据无法绕过——计数器在他们的后端,不在你的浏览器里。
Q:Debug 模式需要 DevTools 打开吗?
A:不需要。和"清空缓存并强制刷新"不同,Debug 模式随时可用。
Q:Debug 模式是付费功能吗?
A:是的,需要 VertiTab 高级版订阅。
Q:可以对不同网站设置不同的清除策略吗?
A:可以。配置按 hostname 独立存储。
相关阅读: