网页数据清除与管理

Created at 1 个月前
Updated at 18 天前
简洁数据清理工具,所有功能集中于对话框,一键清除网站各类存储数据
Total Installs
64
Today's New
+0
User Rating
- / 5.0 (0)
Current Version
3.1
Script Details
Applicable Sites
LicenseMIT

网页数据清除与管理脚本 - 详细说明

概述

脚本名称:网页数据清除与管理
版本:3.1
作者:Chaos
适用平台:Tampermonkey / Violentmonkey(支持 GM_* 函数)
匹配范围:所有网站(:///*)

本脚本为您提供一个悬浮对话框,集中管理当前网站的所有客户端数据。您可以一键清除 Cookie、本地存储、会话存储、IndexedDB、缓存存储、Service Worker,以及同源 iframe 中的存储数据。同时支持复制当前站点的 Cookie 和查看详细清理指南。


主要功能

功能按钮 作用
🗑️ 清理当前网站所有数据 一次性执行所有清理操作(Cookie、存储、数据库、缓存、SW、同域框架)
🍪 清理当前网站Cookie 清除当前域名及子域名的 Cookie(无法清除 HttpOnly Cookie)
💾 清理本地存储 清空 localStorage
📝 清理会话存储 清空 sessionStorage
🗄️ 清理IndexedDB 删除当前域名下的所有 IndexedDB 数据库
📦 清理缓存存储 删除与当前域名相关的 Cache Storage
⚙️ 注销Service Worker 注销当前域名下注册的 Service Worker
🖼️ 清理同域框架存储 遍历页面中所有 iframe/frame,若其域名与主站同域,则清空其 localStorage 和 sessionStorage
📋 复制当前Cookie 将当前页面的 Cookie 复制到剪贴板
📖 查看清理指南 弹窗显示详细的数据清理说明(含手动彻底清理步骤)
🌐 切换语言 在简体中文和 English 之间切换(自动保存偏好)


安装方法

  1. 确保浏览器已安装 Tampermonkey 或 Violentmonkey 扩展。
  2. 点击扩展图标 → “添加新脚本” 或 “新建用户脚本”。
  3. 将本脚本的全部代码复制粘贴到编辑器中。
  4. 保存(Ctrl+S / Cmd+S)。
  5. 脚本会自动生效。刷新任意网页后,在 Tampermonkey 菜单中会看到 “⚙️ 菜单设置” 选项。

使用方法

打开对话框

· 点击浏览器右上角的 Tampermonkey 图标 → 选择 “⚙️ 菜单设置”。
· 脚本会在页面中央弹出控制面板。

执行清理

· 点击任意功能按钮,脚本会立即执行清理操作,并弹窗提示结果(例如清除了多少项数据)。
· 清理成功后,页面会自动重新加载(仅当实际清除了数据时),以确保所有存储残留被彻底移除。

语言切换

· 在对话框底部点击 “简体中文” 或 “English” 按钮,界面语言会立即切换,且偏好会保存到脚本存储中。

关闭对话框

· 点击 “关闭” 按钮或点击半透明遮罩层,对话框关闭。


清理数据的具体说明

  1. Cookie

· 清除范围:当前域名的所有可见 Cookie(非 HttpOnly),并尝试使用多种路径(/、/login、/account、/api、/admin)和子域名变体(例如 example.com、.example.com、www.example.com 等)进行覆盖清除。
· 无法清除:设置了 HttpOnly 标志的 Cookie(浏览器安全限制)。

  1. LocalStorage / SessionStorage

· 直接调用 localStorage.clear() 和 sessionStorage.clear(),清空当前页面的存储。

  1. IndexedDB

· 调用 indexedDB.databases() 获取所有数据库列表,然后逐一删除。仅删除当前域名下的数据库。

  1. Cache Storage

· 遍历 caches.keys(),删除名称中包含当前域名(或不含 www. 的域名)的缓存。

  1. Service Worker

· 调用 navigator.serviceWorker.getRegistrations(),对 scope 包含当前域名的 SW 执行 unregister()。

  1. 同域 iframe 存储

· 查找所有 <iframe> 和 <frame>,若其 contentWindow.location.hostname 与主站同域(或为子域),则清空其 localStorage 和 sessionStorage。
· 注意:跨域 iframe 无法访问(浏览器安全策略限制)。


注意事项

  1. HttpOnly Cookie 无法清除
    这是浏览器的安全机制,脚本无法通过 JavaScript 删除这类 Cookie。如需彻底清除,请使用浏览器内置的“清除浏览数据”功能。
  2. 清理后需手动刷新
    脚本在成功清理后会自动刷新页面,以确保所有前端状态重新初始化。如果您不希望自动刷新,可修改脚本中 if (reload) location.reload(); 的相关逻辑。
  3. 跨域数据无法清除
    脚本仅能操作当前页面域名及其子域名的数据。第三方嵌入的内容(如来自 google-analytics.com 的 Cookie 或存储)无法通过本脚本清除。
  4. IndexedDB 和 Cache Storage 的异步清理
    脚本已正确处理异步操作,弹窗结果会等待所有清理完成后再显示。
  5. 浏览器兼容性
    建议使用最新版 Chrome、Edge、Firefox。旧版浏览器可能不支持 indexedDB.databases() 方法(脚本会捕获异常并返回 0)。
  6. 权限要求
    脚本使用了以下 Tampermonkey API,请确保扩展允许这些权限:
    · GM_registerMenuCommand(注册菜单)
    · GM_setClipboard(复制 Cookie)
    · GM_getValue / GM_setValue(保存语言偏好)

常见问题 (FAQ)

Q1:点击“清理所有数据”后,为什么有些数据还在?

· 可能是 HttpOnly Cookie 或 跨域存储 未被清除。请参照脚本内置的“查看清理指南”手动清理。

Q2:清理 IndexedDB 时提示“未检测到数据库”,但我明明知道有数据库?

· 某些 IndexedDB 数据库是在 Worker 或延迟初始化的,脚本运行时可能尚未创建。您可以在页面完全加载后再执行清理,或使用浏览器开发者工具(Application → IndexedDB)手动检查。

Q3:复制 Cookie 时弹出“无Cookie可复制”,但网站明明有?

· 您可能处于隐私模式,或 Cookie 被标记为 HttpOnly(不可被 JavaScript 读取)。本脚本只能复制 document.cookie 可访问的 Cookie。

Q4:清理后页面刷新了,但某些功能仍然异常?

· 部分网站使用 Service Worker 拦截请求,即使 SW 被注销,也可能需要强制刷新(Ctrl+Shift+R)来清除内存中的旧响应。脚本已提供“查看清理指南”中的提示。

Q5:如何修改脚本默认语言?

· 在对话框中选择您偏好的语言即可,脚本会自动保存。如果想重置,可进入 Tampermonkey 管理面板 → 存储(Storage)→ 删除 preferred_language 项。

Q6:为什么菜单选项只显示“⚙️ 菜单设置”,而不是直接显示功能?

· 脚本设计为通过对话框集中操作,而非多级菜单,以保持简洁。点击菜单项即可调出对话框。


脚本自定义(高级用户)

您可以根据需要修改以下参数:

· Cookie 清除路径列表:在 cleaners.clearCookies 函数中找到 paths 数组,可增删路径(例如 /home、/app)。
· 子域名匹配规则:getSubdomains 函数会生成所有可能的子域名组合。如果您的网站域名结构特殊,可调整该函数。
· 自动刷新行为:各清理函数中的 reload = true 参数改为 false 可禁止自动刷新。


许可证

本脚本采用 MIT 许可证,您可以自由使用、修改、分发,但需保留原作者声明。


更新日志

v3.1

· 优化对话框样式,支持移动端自适应。
· 增加同域 iframe 存储清理功能。
· 修复 IndexedDB 清理时部分数据库名称为空导致的计数错误。
· 改进 Cookie 清除逻辑,覆盖更多路径和子域名。

v3.0(历史)

· 初始公开发布版本。


文档结束
如有疑问或建议,请联系脚本作者(脚本头部 @author Chaos)。祝您使用愉快!