#1 - 2018-11-24 23:03
戊陧 (やらなくてもいいことならやらない)
超合金组件:动画点击看过,自动把所有分集设置为已看

BUG 描述:启用这个组件后,打开 Fate/Zero , 如果标记状态为「看过」,则完成度会被该组件自动标记为完成 2011 话,即使手动标记回完成 25 话也会立即被该组件修改为 2011 话。



目前我已在 Via 浏览器与 Chrome Beta 进行测试,100% 复现,关闭此组件问题消失。但我不知道其他用户是否会出现这个问题,也暂时不知道除了 Fate/Zero 外还有哪些条目搭配该组件会出问题。并且我也不确定该结果是否是结合我个人的原因多重因素导致的,所以有看到的同学愿意试的话,无论是否复现都请在此贴留个言。

如果我这里没有问题的话,考虑到 2011 是 Fate/Zero 的放送开始年,我猜测要么是脚本出了问题,要么是 Bangumi 的后台数据哪里出了问题。

@NatsumeXavier @Sai

更新:此组件亦会导致在任意集数为 ?? 的条目页无限自动刷新,大概是无法获取到正确集数导致的吧。
#2 - 2018-11-25 00:16
(V1046-R MAHORO)
脚本读取infobox第二个(一般是“话数”),但是如果条目没有中文名就会读到奇怪的东西。
#3 - 2018-11-25 00:24
(已淡出bgm38)
看了一下,这个组件的获取话数的方式就是不科学的,如果话数不是放在信息栏的第二行的话就会出错
function getWatchedVols() {
        let re = /(\S{2}): (?<episode>\d*)/g
        let text = $('#infobox > li:nth-child(2)').text()
        return re.exec(text).groups.episode
    }

可以改成
function getWatchedVols() {
        let eps = $('#infobox').text().match(/话数: (\d+)/)
        return eps ? eps[1] : null
    }
#4 - 2018-11-25 01:34
(。´-д-)
另一个类似的组件也有个奇怪的bug..点过的格子颜色变了 但是还是会显示无状态..
#4-1 - 2018-11-25 08:57
戊陧
难道是楼下?
#4-2 - 2018-11-25 11:04
Cedar
Tetsugen 说: 难道是楼下?
是的..等我截图报一下..
#4-3 - 2018-11-25 11:54
Cedar
Tetsugen 说: 难道是楼下?
发现其实不是bug..网站本来就是这么设计的..唔..
#5 - 2018-11-25 08:08
(天生万物以养人,人无一物以报天)
为什么不试试https://bgm.tv/dev/app/461(bgm38) 你遇到的bug我8月底就已经修复过了

"立即被该组件修改为 2011 话" 那个不算, 那个是你用的组件作者在我之前写的0.0.1版本基础上自己加上的.

你现在用的这个组件的所有者当初发了个贴想要一个这样的用户脚本, 然后我写了这个组件的0.0.1版本, 同时把代码push到了github上. 他喜欢的实现方式跟我之前已经实现的不一样, 就自己动手修改了代码, 然后在github上给我提了个pr. 但是我没合并, 可能因此他自己提交了个组件.

比如就像楼主遇到的一样, 每次进入页面的时候如果目前标记看过的总集数跟识别出来的集数不同就会自动修改, 而我是在修改收藏状态的时候才会去修改观看进度.
#5-1 - 2018-11-25 09:08
戊陧
其实我在寻找是哪个组件造成的时候,发现我同时安装了你们两个的组件…忘了所以安装重复了…但 BUG 是显性性状…(bgm38)
#5-2 - 2018-11-25 10:34
君寻
我看了一下,组件里还是没改啊,头部的version写的还是0.0.1
#5-3 - 2018-11-25 11:34
bangumi大西王
君寻 说: 我看了一下,组件里还是没改啊,头部的version写的还是0.0.1
只是那个忘了改了,毕竟不是自动构建出来的,专门再发个版本又感觉很多余…