NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
一个用于持久化 UnoAnalyzer 登录状态的 Tampermonkey 用户脚本。脚本自动维护 sessionStorage 与 localStorage 的同步,保持网站的登录状态,切换窗口或关闭浏览器不再丢失登录token。
❓ 为什么存在此脚本
📢 最近通知
⚙️ 主要功能
@run-at document-start),尽量在网站初始化前恢复登录状态。localStorage 中以 fromSessionStorage_ 前缀开头的内容,并在 sessionStorage 缺失时恢复到当前会话。sessionStorage.setItem()、removeItem()、clear()sessionStorage 数据写入或删除都会同步到 localStorage。localStorage 中存储 sessionStorage 的破坏,防止恶意破坏用户体验。sessionStorage <-> localStorage 的一致性,避免切换窗口、重启浏览器或重新打开标签页后丢失登录信息。clear() 只会清理脚本管理的 localStorage 项,而不是整个站点的存储。🛠️ 安装
LOCALSTORAGE_PREFIX 常量。🔧 配置
const LOCALSTORAGE_PREFIX = 'fromSessionStorage_'localStorage 中保存来自 sessionStorage 的镜像数据,避免与网站自身其他存储项冲突。const INITIAL_SESSIONSTORAGE_TO_LOCALSTORAGE_DELAY = 0📚 运行原理与实现细节
initRestore():localStorage,定位所有以 LOCALSTORAGE_PREFIX 开头的键。sessionStorage 键是否存在;如果不存在,就将本地镜像恢复回会话存储。hookLocalStorage():Storage.prototype.setItem、removeItem、clear。this === window.localStorage 判断正在操作 localStorage ,执行操作时智能保护脚本前缀相关的 localStorage 键。setItem:写入 localStorage 时,如果操作了脚本前缀相关的 localStorage 键,立即弹出alert警告,控制台输出错误,终止执行,不进行覆盖。removeItem:删除 localStorage 项时,如果操作了脚本前缀相关的 localStorage 键,静默过滤,不予删除clear:清空 localStorage 时,受保护的前缀项自动恢复。hookSessionStorage():Storage.prototype.setItem、removeItem、clear。this === window.sessionStorage 时才进行同步,避免误伤其他 storage 实例。setItem:写入 sessionStorage 时,同步写入 localStorage。removeItem:删除 sessionStorage 项时,同步删除对应的本地镜像。clear:清空 sessionStorage 时只清理脚本前缀相关的 localStorage 键,保留其他站点数据。hookLocalStorage() 执行的保护策略,避免冲突。初始同步:sessionStorage 中存在数据但对应 localStorage 镜像不存在,也会自动补齐,避免首次安装后出现“已有登录但未映射”的状态。这是一种“镜像式同步”方案,核心目标不是直接改写网站代码,而是让浏览器的 sessionStorage 和本地 persistent storage 保持一致,从而让跨窗口/重开页面时保留登录上下文。
🐞 调试
console.log / console.warn / console.error / console.debug,输出格式为 [脚本名] ...。localStorage 是否存在 fromSessionStorage_ 开头的键。sessionStorage 是否已被恢复或写入。document-start 前执行失败。localStorage 保护是否生效:localStorage 和 sessionStorage 中对应键是否保持一致。🤔 常见问题 (FAQ)
https://*.unoanalyzer.com/* 或 https://unoanalyzer.com/*。重新刷新页面后检查控制台是否有脚本日志。Storage / IndexedDB / Cache 中;localStorage 中的 fromSessionStorage_ 前缀项;sessionStorage,此时脚本也会同步清理本地镜像。LOCALSTORAGE_PREFIX 的键,并且只在 sessionStorage 触发相关操作时才删除/清理对应镜像,不会覆盖其他 website 或 app 使用的 localStorage 项。localStorage,脚本无法保留历史登录状态。脚本的目标是“在同一浏览器实例中保留登录”,而不是作为云同步或跨设备登录方案。📜 更新日志
sessionStorage 与 localStorage 的前缀镜像同步;setItem/removeItem/clear,保证后续登录变更持续同步;🔑 许可
:param AFF
💡 多站点广告拦截和体验优化: Adguard规则 (兼容Adguard浏览器扩展和APP | 可兼容AdBlock Plus | 持续更新)
✅ XJTLU自动登录系列:
7天内保持登录😊 XJTLU体验提升 (QoL):
其他自动登录系列:
其他体验提升:
Rating: 0