Releases: lzblack/userscripts
rating-hub v1.1.3: music 页面 anchor 修复 + Grammy 年份显示
🐛 修复
v1.1.2 上线后发现 music 页面虽然命中数据但胶囊不显示。两个修复:
1. anchor 选择器过严
RankingRenderer._findAnchor 原本 fallback 用 #content > h1(直接子元素选择器),但豆瓣音乐条目页的 h1 在 #content 下多嵌套了一层,选不中 → rankingMarksMain 静默退出。
修复:fallback 放宽到 #content h1 + 顶层 h1,覆盖豆瓣各品类页面结构差异。
2. Grammy 胶囊左槽显示 —
Grammy 条目 rank: null + 无 spineNumber,原 _formatRank 返回 —。
修复:从 externalId(形如 grammy-aoty-2024)提取 4 位年份显示。豆瓣 Midnights 页面的胶囊现在显示 2024 格莱美年度专辑。
验证
打开任意豆瓣音乐条目(如 Midnights),胶囊应正常显示在 title 上方。
rating-hub v1.1.2: music 品类 + 动态 category discovery
新增
- music 品类:豆瓣音乐条目页现在会显示外部音乐榜单胶囊(Grammy 等,由 upstream
douban-rankings提供) - 剧集榜单自动生效:BBC 21 世纪百大剧集、滚石 100 最伟大电视剧,豆瓣剧集条目页自动展示(subCategory=tv,仍在 movie category 下)
架构改进
去掉 userscript 侧硬编码 category 白名单。现在完全依赖 upstream manifest.categories 做 category discovery。
含义:
- upstream 加新 category → consumer 零改动自动支持
- upstream 移除 category(如本次 book) → consumer 天然不会去拉那个 JSON
manifest.json成为唯一真相源,符合 upstream integration guide 契约
配置面板
"⭐ 榜单显示" section 现在展示所有 category 下的 source(之前只显示 movie),每条加 category 标签便于区分。
Upstream 数据扩展(无需 rating-hub 改动自动生效)
- Criterion 覆盖 1130 → 1174 条(+44)
- Bangumi 覆盖 13 → 189 条(+176)
- Grammy 覆盖 5 → 67 条
升级后建议
Tampermonkey 菜单 → 🔄 强制刷新榜单数据 清缓存,拉最新数据。
rating-hub v1.1.1: anonymous GM_xmlhttpRequest (security fix)
🔒 安全/隐私修复
问题:之前版本的 GM_xmlhttpRequest 请求 Amazon / Goodreads / 微信读书 / NeoDB 等第三方评分源时,会带上浏览器登录 cookie,导致返回的是你个人账号下的个性化搜索结果(如你最近浏览的书、你的书架),而非通用公开评分。第一条结果的 URL 可能也带个人 ref 参数,被缓存/显示。
修复:GM_xmlhttpRequest 默认设 anonymous: true,拿通用公开数据。
用户行动:升级后请点 Tampermonkey 菜单 🔄 强制刷新榜单数据 清旧 cache。
保留的例外
douban-feed-mark保持anonymous: false— 那里本就需要豆瓣 cookie 查你自己的标记状态douban-book-version-marker用fetch(credentials:'include')— 同上
本次未改其他 v1.1.1 功能
榜单胶囊功能、配置面板、菜单项等与 v1.1.0 相同。这是纯粹的 anonymous flag fix。
rating-hub v1.1.0: 榜单胶囊
新增功能
豆瓣电影条目页 title 上方显示外部权威榜单标记,视觉与豆瓣原生 .rank-label-other 一致:
- IMDb Top 250
- CC 标准收藏(Criterion Collection,显示 spine 编号如
#1132) - AFI 百年百大电影
- BFI 影史百大(2022)
- Letterboxd 人气 250
配置
- 设置面板新增 ⭐ 榜单显示 section:总开关 + 每个榜单独立 checkbox + 手动清缓存按钮
- Tampermonkey 菜单新增 🔄 强制刷新榜单数据
技术细节
- 数据由独立项目
douban-rankings维护,以静态 JSON 形式发布在https://rank.douban.zhili.dev(hosting-agnostic) - 客户端缓存 24 小时,断网或端点不可达时静默降级,不影响评分汇核心功能
- CSS 内联豆瓣原生
.rank-label-otherPNG 纹理(scoped 在.rating-hub-rank-marks容器内) - Schema 契约:
schemaVersion不匹配时 consumer 端静默降级而非报错 - 为未来扩展预留:
ConcurrencyGate(多源并发)、normalizeRankingPrefs(配置归一化)、subCategory字段(电影/剧集细分)
Files
douban-rating-hub.user.js— userscript 主文件CHANGELOG.md— 完整更新历史
neodb-ratings v1.0.7: anonymous GM_xmlhttpRequest (privacy fix)
🔒 隐私修复
问题:请求 neodb.social 搜索和详情时,之前的 GM_xmlhttpRequest 会带上你在 NeoDB 的登录 cookie(如果有)。这会让返回结果个性化(比如你的书架状态混入搜索列表排序),污染通用评分展示。
修复:两处 GM_xmlhttpRequest 调用加 anonymous: true,拿通用公开结果。
用户行动:无需特殊操作,Tampermonkey 会自动拉新版本。如果你之前发现过 NeoDB 评分显示异常,升级后应该恢复。