哔哩哔哩(B站|Bilibili)收藏夹Fix (cerenkov修改版)

修复 哔哩哔哩(www.bilibili.com) 失效的收藏。(可查看av号、简介、标题、封面、数据等)

< 脚本哔哩哔哩(B站|Bilibili)收藏夹Fix (cerenkov修改版)的反馈

提问/评论

§
发表于:2025-02-16

最近有许多(如果不是全部的话)失效的收藏条目获取不到鼠标悬停的详细信息,控制台有许多同样内容的报错:

Uncaught TypeError: Cannot read properties of undefined (reading 'medias')
    at Object.onload (userscript.html?name=%25E5%2593%2594%25E5%2593%25A9%25E5%2593%2594%25E5%2593%25A9-B%25E7%25AB%2599%257CBilibili-%25E6%2594%25B6%25E8%2597%258F%25E5%25A4%25B9Fix-cerenkov%25E4%25BF%25AE%25E6%2594%25B9%25E7%2589%2588.user.js&id=523bdc80-6fee-45f1-8997-c2c8ad4e5448:175:42)
    at Pt (<anonymous>:10:89)
    at <anonymous>:46:242
    at Pt (<anonymous>:10:89)
    at r (<anonymous>:32:484)
    at <anonymous>:33:112
    at <anonymous>:22:300
    at _ (<anonymous>:22:319)

脚本版本为最新的 v1.3.1。

console.log 打了一下日志发现,请求 URL 的 media_id 参数也就是 fid 竟然是 undefined,并且 API 返回的 json 为:

{
  "code": -400,
  "message": 'strconv.ParseInt: parsing "undefined": invalid syntax',
  "ttl": 1
}
cerenkov作者
§
发表于:2025-02-16

这是获取不到收藏夹id?
有点奇怪,方不方便提供一下出问题的收藏夹网页的网址?
另外你可以点击 Tampermonkey 的编辑脚本,将本脚本最开头的 isDebug 改成 true,再看看出问题的收藏界网页的控制台输出了什么 fid

§
发表于:2025-02-16

啊,我刚注意到,出问题的是点击B站顶栏的“收藏”按钮打开的收藏夹页面,此时显示的是“默认收藏夹”,URL 是 https://space.bilibili.com/${B站uid}/favlist,这时候可以复现上述问题,而如果手动点击“默认收藏夹”,会跳转到带上 ?fid=... 的 URL,此时就可以正常工作了。

cerenkov作者
§
发表于:2025-02-16

但是也不应该啊,我写了 URL 假如不含 fid 时的处理逻辑
……啊我懂了,我那段逻辑只能处理除了默认收藏夹以外的情况。在B站新界面中,默认收藏夹的 fid 甚至还不在网页源代码里,得另发一个网络请求去问,那下一个版本我把这个情况补上

发表回复

登录以发表回复。