2.5.6 是一个性能与数据准确性强化版本,重点修复了缓存指纹去重缺陷、超大账号加载性能瓶颈,并优化了 CDKey 激活反馈与绝版数据缓存机制。
#N,精准区分同日同名同类型的重复许可,避免重复行被误判为缓存命中而丢失(例如同一游戏多个 Sub)。ingestRows 和 markRow 单行标记,替代每页全表 markRows + recalc,大型账号(数万许可)加载速度提升显著。pruneRowsDB,删除缓存升级后残留的孤儿行,减少存储浪费。batchGen 和 curBatch,清空历史记录后旧响应不再污染新批次统计。@resource 打包版改为后台拉取写入 localStorage,有效期 1 天,兼顾实时性与加载速度。缓存版本升级后首次打开会重建缓存,加载时间可能稍长,之后恢复极速。如有异常,可点击“清除缓存并刷新”按钮重置。
欢迎到 GreasyFork 反馈区 提交问题。
本次更新主要修复了 CDKey 激活完成后的按钮状态残留、缓存加载时的重复数据叠加以及 BFCache 恢复时的数据混乱等关键问题,同时增强了日历热力图的数据变化检测和绝版游戏检查的安全性。
redeemDone() 中的 if(rs.recvN >= rs.keyN) 会错误地启用按钮。现在增加 rs.keyN > 0 条件,避免无 Key 时误判完成。rs.keyN 和 rs.recvN 计数器,并清除批量激活的定时器,防止残留数据影响后续激活统计。autoLoadAllPages。现在在开始加载前,会先移除之前脚本追加的带 data-slc-appended 标记的行,避免与恢复的 DOM 叠加导致重复数据。allFingerprints,确保这些行不会被误判为“新行”而重复插入。data-slc-appended),保留首屏行,避免数据缺失。tsSum,使 hash 更敏感,确保数据变更时热力图正确刷新。appid 现在强制转换为数字,防止在拼接到 onclick 或 URL 时出现 XSS 风险。renderDeliveredContent 中添加 _dlstClickBound 标记,避免因窗口复用导致同一个事件监听器被多次绑定。updateDelistedScroll 时,通过 getDelistedApps() 获取最新绝版数据,确保排序和筛选基于最新列表。NO_LICENSE_TEXTS,包含中英日等常见文案,确保各种语言页面下无效行都能被正确识别并删除。updateDelistedScroll 中分页按钮事件绑定被覆盖的问题,现在使用 onclick 直接赋值,避免多次绑定导致重复触发。redeemDone 的冗余判断逻辑,使完成提示更准确。本次更新主要修复缓存加载中的关键问题,提升增量加载的稳定性和准确性,避免因 SteamDB 扩展列干扰或分页器回绕导致的死循环、顺序错乱等异常。
extractRowFingerprint() 现在主动过滤 steamdb_license_id_col 类名的列,确保指纹不因第三方扩展的列插入而改变,避免增量对比时将已有许可误判为新行。newFps 数组:收集增量抓取过程中识别的新指纹,并在循环结束后一次性合并到有序列表最前,取代原先的 unshift 方式,防止超大指纹数组展开导致 RangeError。pageAllSeen 检测,若某一页的全部指纹均已存在于已加载集合中,立即停止后续抓取,防止分页器循环重复投喂同一页内容导致无限加载。rows.length === 0 的页面,立即终止加载,避免无限等待。finally 块确保 state.isLoading 在任何异常下均被重置为 false,防止界面永久显示“加载中”。CACHE_VERSION 自 2 提升至 3,强制旧版本缓存失效,确保新指纹提取逻辑生效,避免历史缓存与新版逻辑不兼容造成数据混乱。autoLoadAllPages 中的日志输出,明确标记空页、回绕等边界情况,便于调试。本次更新为 Bug 修复补丁,主要修复日期筛选功能在特定时区下不准确的问题,并优化了相同许可面板的滚动体验。
new Date(dateString).getTime() 解析日期输入,该方式会将 YYYY-MM-DD 按 UTC 零点解析,而表中的日期由 parseDate() 按本地时区零点解析,导致两者差值可能偏差 8 小时(或更多),造成部分日期被错误排除。dateInputTs 函数,改用 new Date(year, month - 1, day).getTime() 按本地时区零点解析输入日期,确保与行内日期时间戳完全对齐。overflow: hidden,仅由内部结果区接管唯一滚动条,避免两个滚动条叠加导致的操作不便。感谢用户反馈日期筛选时区问题和相同许可面板滚动异常,本次修复使脚本的日期筛选功能更加可靠。
本次更新聚焦于 CDKey 激活窗口 的体验优化,新增 表格/卡片双视图 切换,AppID 列 显示,并大幅提升 游戏封面加载 的稳定性和速度。
rs.cardView 状态:控制当前激活窗口的视图模式。syncCard(key):单条卡片同步更新,在激活过程中实时渲染/更新对应卡片。renderAllCards():批量渲染所有卡片,用于切换视图时的全量刷新。loadCover(ph, appid, placeholderCls):统一的封面加载函数,支持多 CDN 尝试、缓存、骨架动画与失败降级。capsule_231x87.jpg,失败后降级至 capsule_184x69.jpg 和 header.jpg,最后回退至 packagedetails API。#slc-rcards、.slc-rcard、.slc-rc-key、.rc-ph、.rc-na 等卡片视图样式类。R)。感谢用户对 CDKey 激活窗口封面显示和视图多样性的建议,本次升级使激活体验更加直观、高效。
本次更新聚焦于 CDKey 激活窗口 的用户体验升级。激活窗口布局全面重构,新增游戏封面预览、Key 隐藏/显示切换,统计信息移至标题栏,界面更紧凑、信息更直观。
XXXXX-XXXXX-*****),保护隐私的同时便于核对。新增以下翻译键(已同步至 zh-CN、zh-TW、en):
| 键名 | 简体中文 | 繁体中文 | 英文 |
|---|---|---|---|
noRedeemRecord |
暂无激活记录,输入CDKey后点击「激活Key」开始 | 暫無激活記錄,輸入CDKey後點擊「激活Key」開始 | No activation records yet. Enter CDKeys and click "Redeem Keys" |
coverEmpty |
激活游戏后此处显示封面 | 激活遊戲後此處顯示封面 | Game covers appear here after activation |
rs.coverShown 用于跟踪已加载封面的 Sub ID,避免重复请求。addCoverCard(subId, subName) 异步加载 Sub 详情并渲染封面卡片。maskKey(key) 将 Key 末尾段替换为 *****,点击切换掩码状态。#slc-rside、#slc-rgrid、.cv、.rkey 等样式类,支持封面网格布局与 Key 交互。#slc-rstats 内边距和字体缩小,适应标题栏空间。R)。packagedetails),请保持网络畅通。感谢用户对 CDKey 激活窗口布局和隐私保护的建议,本次升级使激活体验更加完善。
本次更新是许可分类器的重大界面升级。借鉴好友管理器家庭组窗口设计,将所有分析功能整合为统一“许可分析”窗口,新增“月度占比”标签页,优化许可分布交互,并强化缓存稳定性。
STALE_CACHE_THRESHOLD 从 5 提升至 30,避免少量新增误判缓存失效。STALE_CACHE_RATIO: 0.5:新增行数超过缓存总数 50% 且连续 30 页全为新行时,才判定缓存失效并触发全量重载。mpRefs 管理月度占比面板。ensureAnalysisShell() 和 activateAnalysisPanel(),统一管理分析窗口。D/Y/F/T/C/S/G 统一触发“许可分析”窗口并切换到对应标签页(Y 已合并至许可分布,不再独立)。showYear() 和 showYearMonthDetail() 移除,功能迁移至 renderDonutTab() 和 drillToMonth()。D 打开许可分布(含年度趋势),M(新增)直接跳转月度占比。感谢用户对统一界面的长期建议及缓存误判问题的反馈。本次升级参考 Steam 好友管理器家庭组窗口设计,让许可分析工具更加直观高效。
本次更新为数据源迁移,将绝版游戏检查功能的数据源从 Azure Blob Storage 迁移至 GitHub Raw,提升数据源的稳定性和可维护性。
https://leanisssharedstorage.blob.core.windows.net/copilot/asdm-files/steam_delisted_apps.jsonhttps://raw.githubusercontent.com/SmallFork/json/main/steam_delisted_apps.json@connect raw.githubusercontent.com 网络权限,支持访问 GitHub Raw 资源。@connect leanisssharedstorage.blob.core.windows.net 权限。| 项目 | 2.4.11 | 2.4.12 |
|---|---|---|
| 资源 URL | leanisssharedstorage.blob.core.windows.net |
raw.githubusercontent.com/SmallFork/json |
@connect 权限 |
leanisssharedstorage.blob.core.windows.net |
raw.githubusercontent.com |
GM_getResourceText)正常工作。感谢用户反馈 Azure Blob Storage 偶发性访问不稳定的问题。本次迁移至 GitHub Raw 旨在提升数据源的可用性和可维护性,确保绝版游戏检查功能长期稳定运行。
1.2 初步代码 1.3 架构重构:从"扁平代码"到"配置驱动"、分类关键词:从"广撒网"到"精准简繁英"、移除了大量泛化关键词、Bug 修复 1.4 关键词改为预编译正则匹配、行背景色从 JS 内联样式改为 CSS 类选择器、性能优化、代码精简 1.4.1 划过切换改为点击切换、Bug 修复:表头行误判、筛选逻辑加固、统计逻辑修正 1.4.2 筛选机制重构:从 JS 遍历到 CSS 类切换、性能优化:减少 DOM 操作和查询、日期处理修正、错误处理 1.4.3 表头检测从硬编码索引改为语义判断、日期清理恢复为删除所有空格、Observer 生命周期管理 1.5 完整多语言支持、日志国际化、动态标签、标题模板化 1.5.1 资源清理机制、性能优化:Observer 监听范围缩小、数据结构升级:Object → Map、样式注入幂等、防御性编程、注释完善 1.6 新增翻页功能、筛选容器固定、多语言扩展、事件委托扩展、Observer 回调扩展、资源清理微调 1.6.1 分页信息栏固定宽度、显示全部"模式的页码显示统一 1.7 新增游戏名称搜索功能、多语言扩展、标题区域重构、分页逻辑扩展