Skip to content

Releases: lzblack/userscripts

rating-hub v1.1.3: music 页面 anchor 修复 + Grammy 年份显示

20 Apr 02:50

Choose a tag to compare

🐛 修复

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

20 Apr 02:31

Choose a tag to compare

新增

  • 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)

19 Apr 15:33

Choose a tag to compare

🔒 安全/隐私修复

问题:之前版本的 GM_xmlhttpRequest 请求 Amazon / Goodreads / 微信读书 / NeoDB 等第三方评分源时,会带上浏览器登录 cookie,导致返回的是你个人账号下的个性化搜索结果(如你最近浏览的书、你的书架),而非通用公开评分。第一条结果的 URL 可能也带个人 ref 参数,被缓存/显示。

修复GM_xmlhttpRequest 默认设 anonymous: true,拿通用公开数据。

用户行动:升级后请点 Tampermonkey 菜单 🔄 强制刷新榜单数据 清旧 cache。

保留的例外

  • douban-feed-mark 保持 anonymous: false — 那里本就需要豆瓣 cookie 查你自己的标记状态
  • douban-book-version-markerfetch(credentials:'include') — 同上

本次未改其他 v1.1.1 功能

榜单胶囊功能、配置面板、菜单项等与 v1.1.0 相同。这是纯粹的 anonymous flag fix。

rating-hub v1.1.0: 榜单胶囊

19 Apr 01:28

Choose a tag to compare

新增功能

豆瓣电影条目页 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-other PNG 纹理(scoped 在 .rating-hub-rank-marks 容器内)
  • Schema 契约:schemaVersion 不匹配时 consumer 端静默降级而非报错
  • 为未来扩展预留:ConcurrencyGate(多源并发)、normalizeRankingPrefs(配置归一化)、subCategory 字段(电影/剧集细分)

Files

neodb-ratings v1.0.7: anonymous GM_xmlhttpRequest (privacy fix)

19 Apr 15:33

Choose a tag to compare

🔒 隐私修复

问题:请求 neodb.social 搜索和详情时,之前的 GM_xmlhttpRequest 会带上你在 NeoDB 的登录 cookie(如果有)。这会让返回结果个性化(比如你的书架状态混入搜索列表排序),污染通用评分展示。

修复:两处 GM_xmlhttpRequest 调用加 anonymous: true,拿通用公开结果。

用户行动:无需特殊操作,Tampermonkey 会自动拉新版本。如果你之前发现过 NeoDB 评分显示异常,升级后应该恢复。