#1 - 2016-1-20 02:38
chaucer (あなたの傷は私の食べ物)
V0.4.2: 修复bug
V0.4.1: 格子改成显示在同一个tab,增加“进入首页自动刷新extra项目进度“的设置项
V0.4.0: bangumi首页显示的条目逻辑更改了,更新和优化相关代码。
V0.3.3: 修复bug
V0.3.0: 解决遍历正在观看的列表卡顿的问题,测试大概5秒左右能完成一次刷新(动画三次元共60部,书籍55本)
V0.2.4: extra 格子都能通过ajax来发请求了,算是所有基本功能完成了(bgm87)
V0.2.3: 修复了一些错误,加上了书籍 extra 格子
V0.2.2: 修复兼容性问题,优化部分代码
V0.2.0: 支持三次元格子了(bgm26)
V0.1.1: 修改了提示信息
===============================


feature
1. extra 格子模式(目前只能使用平铺模式):原本显示的格子在 50,脚本添加的格子在 extra。 如果不在首页点的格子或新增了在看条目,需要点击 refresh 按钮更新进度。
2. 平铺模式下能切换动画和三次元栏目 (fixed this bug)

已知bug
1.extra页的格子是条目详情页的格子,所以没办法点ep大于100的格子,但这种情况只会在ep数大于的72的动画或三次元在看数量大于50部时发生,因为bangumi会优先将这些条目放到首页。

chrome 用户需要先安装 Tampermonkey
Firefox 用户需要先安装 Greasemonkey

安装地址:
greasyfork
github

陆陆续续写了两天,前端的异步嵌套真是讨厌。用了 localStorage 保存额外格子的信息。

欢迎使用和反馈问题,帮我能完善功能就更好了
#2 - 2016-1-20 02:56
(VIP已到期,请尽快续费)
cool

https://bgm.tv/anime/list/chaucerling/do 不是直接有写在看xx部吗
另外直接告诉我在看了多少部吧,less than 50看得我好着急(bgm38)
#3 - 2016-1-20 04:18
#4 - 2016-1-20 04:42



$('.infoWrapper_tv div[subject_type="2"]') 這樣只會抓到動畫,三次元沒抓到,50 部限制應該是包含動畫跟三次元哦,改成 .infoWrapper_tv > div 就好了。

wathcing_list 這變量名你坑我 (bgm38)


//Bad Example
(function(){
  if(something === true) {
    //your code here...
    // ...
    // ...
    // ...
    // ...
    // ...
    // ...
  }
})();


//Good Example
(function(){
  if(something !== true) return;

  //your code here...
  // ...
  // ...
  // ...
  // ...
  // ...
  // ...
})();
#4-1 - 2016-1-20 10:22
chaucer
所以说只实现了动画部分(bgm38)
#4-2 - 2016-1-20 10:25
ビノタ
chaucerling(id: chaucerling) 说: 所以说只实现了动画部分
動畫跟三次元在這裏是一樣的嘛,除了 subject_type ,首頁上面的那個切換按鈕本來就不能用。 (#12)

其實我昨天有改一點,但是沒實現什麼(
https://gist.github.com/BinotaLiu/e957867e28ef13d69561
#4-3 - 2016-1-20 12:06
后圣域传说
chaucerling 说: 所以说只实现了动画部分
附议,要是实现动画和三次元总和50部就好了。
#4-4 - 2016-1-20 18:07
chaucer
后圣域传说 说: 附议,要是实现动画和三次元总和50部就好了。
三次元现在也支持了,请更新脚本
#4-5 - 2016-1-21 01:20
后圣域传说
chaucerling 说: 三次元现在也支持了,请更新脚本
不好意思,我更新以后反而不能用了?v0.1.1使用正常,v0.2.0首页没有反应了。
#4-6 - 2016-1-21 10:02
chaucer
后圣域传说 说: 不好意思,我更新以后反而不能用了?v0.1.1使用正常,v0.2.0首页没有反应了。
在已安装脚本里删掉再重装试试
#4-7 - 2016-1-21 10:30
后圣域传说
chaucerling 说: 在已安装脚本里删掉再重装试试
这太诡异了,我在Firefox下反反复复试了很多次都是0.1.1可以运行但是0.2.0没反应,不过刚才试了试Chrome下可以正常运行……
蛋疼看了一下代码,发现问题了:
+// @grant        unsafeWindow
这句改成
+// @grant        none
就行了
@grant不用使用unsafeWindow值,直接none就行了因为unsafeWindow总是可以使用的。这应该是Chrome+Tampermonkey和Firefox+Greasemonkey不一样的地方?
#5 - 2016-1-20 10:36
(V1046-R MAHORO)
顺便问问,这个BUG有人汇报过没

#5-1 - 2016-1-20 11:02
ビノタ
有哦 #12
若卡做的腳本 http://pastebin.com/raw/ZbRFYuve
#6 - 2016-1-20 12:25
(没有耐心的"观众"们...浮躁得过分 ... ... ... ...)
这季还好...算上年番才43部(bgm38)...有机会再用
#7 - 2016-1-20 13:10
你们要理解老板的用心啊,我用BGM的时候在看不会多的,没播的一定在想看,稍微想晚点看的一定丢到搁置里面,觉得不好看的肯定抛弃。后来换到MAL,现在是在看在看突破100了,抛弃就10个,想看就没用过(bgm38)
#7-1 - 2016-1-20 18:11
chaucer
我超过一屏就会抛弃补不起来那些了(bgm38),写这个脚本主要是练手
#8 - 2016-1-20 13:14
(宅男会虚构虚构老婆倒贴给虚构自己这件事究竟有什么错)
果然需求就是第一生产力(bgm38)
#9 - 2016-1-20 18:52
能不能追加点进条目页面也可以显示超过50个格子的功能,比如万年小学生什么的,先谢谢(bgm24)
#10 - 2016-1-20 19:02
(红色闭关 蓝色通常运转)
你们终于忍无可忍(
#11 - 2016-1-20 21:51
(いいんです)
书籍不行?
#11-1 - 2016-1-20 22:22
chaucer
没试过在读多于50大情况,我看看要怎么办
#11-2 - 2016-1-21 03:30
ζ*'ヮ')ζ 讀者諸孃へ
chaucerling 说: 没试过在读多于50大情况,我看看要怎么办
注册个新号然后随便点五十本……
#11-3 - 2016-1-23 00:48
chaucer
书籍已可以了,请更新
#12 - 2016-1-21 07:08
几个代码方面的建议:
1. 代码缩进不要混用空格和Tab
2. 多行代码可以使用反引号来括(`),那样就不需要在行尾加斜杠续行
3. 加样式表可以直接用GM_addStyle函数
4. 可以用反引号字符串来做字符串生成,简化代码
5. localStorage内容建议加上前缀区分,因为这个是跟本站和其他脚本共享的储存空间
6. 不要监听unload事件,会影响BFCache(就是前进后退不需要重新加载页面的缓存)
#12-1 - 2016-1-23 00:55
chaucer
BFCache 只有火狐才有,真是好用的特性,不像 chrome back-forward 时还要加载一次脚本
另外问一下 Tampermonkey 和 Greasemonkey 声明unsafeWindow 是不是不一样的?Tampermonkey 是可以
@grant unsafeWindow
,而 Greasemonkey 是不能这样?
#12-2 - 2016-1-23 01:26
ビノタ
chaucerling(id: chaucerling) 说: BFCache 只有火狐才有,真是好用的特性,不像 chrome back-forward 时还要加载一次脚本
另外问一下 Tampermonkey 和 Greasemonkey 声明unsafeWi...
其實我一直想知道為什麼你要用 unsafeWindow ,因為沒用 unsafeWindow 一樣可以用 $ 的……
#12-3 - 2016-1-23 01:31
chaucer
BinotaLiu 说: 其實我一直想知道為什麼你要用 unsafeWindow ,因為沒用 unsafeWindow 一樣可以用 $ 的……
为新添加的元素绑定原本的事件要用到chiiLib.home和$.cluetip
#12-4 - 2016-1-23 06:35
upsuper
chaucerling 说: BFCache 只有火狐才有,真是好用的特性,不像 chrome back-forward 时还要加载一次脚本
另外问一下 Tampermonkey 和 Greasemonkey 声明unsafeWi...
可以的吧,在这个上面应该是一致的? @grant - GreaseSpot Wiki
#13 - 2016-1-23 11:23
(啊呜...)
无论是从 greasyfork 还是从 github 装,无论是 Chrome 还是 Firefox
除了出现这句
Watching 56 animes, NaN reals and 18 books.(click to close)
怎么点都还是这句,看 console 点这句只有一个 toggle:true/false,就没其它效果。
#13-1 - 2016-1-23 13:07
chaucer
你试试最新的v0.3.2
#13-2 - 2016-1-23 16:03
asahui
chaucerling 说: 你试试最新的v0.3.2
嗯,终于有了
#14 - 2016-1-30 17:14
(いいんです)
#14-1 - 2016-1-30 20:02
chaucer
refresh之后也是这样?
#14-2 - 2016-1-30 20:05
Panzerance🀃
chaucerling 说: refresh之后也是这样?
yes
#14-3 - 2016-1-30 20:27
chaucer
Panzerance 说: yes
条目详情页的格子也是这样吗?
把这段代码贴到浏览器的控制台,再把结果复制出来
$('.prgText').map(function(index, element){
  $(element).append('<a href="javascript:void(0)" class="input_plus plus">+</a>');
   return element.outerHTML;
}).toArray().join('\n');
#14-4 - 2016-1-30 21:16
Panzerance🀃
又加了个漫画在看再refresh又没有了
当我啥都没说吧w
#15 - 2016-1-30 20:19
路过

异步的话反正是jQuery,用promise可以让代码清晰很多的
#16 - 2016-2-23 20:47
卡在这里就没动过,求解决方案
#16-1 - 2016-2-24 00:44
chaucer
按f12,把控制台的输出贴一下,看卡在哪里了
#16-2 - 2016-2-24 18:32
#16-3 - 2016-2-24 19:37
chaucer
ghdjum 说:
chrome 47 和 firefox 43 及以上才支持“includes”
你用的浏览器版本是什么?
#16-4 - 2016-2-24 22:19
ghdjum
chaucerling 说: chrome 47 和 firefox 43 及以上才支持“includes”
你用的浏览器版本是什么?
UCBrowser_V5.5.10106.5_windows_pf101_(Build1601261105)
#16-5 - 2016-2-24 23:15
chaucer
ghdjum 说: UCBrowser_V5.5.10106.5_windows_pf101_(Build1601261105)
你更新到v0.3.4,看还有没有问题
#16-6 - 2016-2-24 23:27
ghdjum
chaucerling 说: 你更新到v0.3.4,看还有没有问题
解决了,谢啦
#17 - 2016-3-10 22:24
console里提示Uncaught ReferenceError: $ is not defined
但是我把代码复制到下面直接运行就没问题,求解决(bgm71)
#17-1 - 2016-3-10 22:30
chaucer
说一下浏览器版本和插件版本
#17-2 - 2016-3-10 23:30
iahaa
chaucerling 说: 说一下浏览器版本和插件版本
插件0.34,浏览器48
#17-3 - 2016-3-11 23:22
chaucer
iahaa 说: 插件0.34,浏览器48
在 // ==/UserScript== 下面加一句
var $ = window.jQuery;
#17-4 - 2016-3-11 23:43
iahaa
chaucerling 说: 在 // ==/UserScript== 下面加一句
var $ = window.jQuery;
还是不行T T
#17-5 - 2016-3-11 23:49
chaucer
iahaa 说: 还是不行T T
Tampermonkey 版本是多少?如果不行安装chrome-remote-desktop,我来远程调试吧
#17-6 - 2016-3-12 00:10
iahaa
chaucerling 说: Tampermonkey 版本是多少?如果不行安装chrome-remote-desktop,我来远程调试吧
之前没有Tampermonkey,我是直接拖到扩展程序里的
装了一个就好了,感谢
#18 - 2016-3-12 23:41
感谢作者 收藏了柯南后就发现原版显示有问题。
#19 - 2016-4-30 07:56
(讓一切都自動化!)
圖沒了?
#20 - 2016-10-7 11:47
(琉璃烟火-Flame in Glass-)
EX那里是前50不少下去就永远隔开?  
50部以上全混在一起排序是不可能的么(bgm43)
#20-1 - 2016-10-7 14:35
A.one
原来EX那里是固定排序 看过不会到最上面去
#20-2 - 2016-10-7 20:30
A.one
A.one 说: 原来EX那里是固定排序 看过不会到最上面去
好像出了点问题  刷新以后点EX什么都没有出现...而且有时候刷新再看数会不对...
#20-3 - 2016-10-7 21:26
chaucer
A.one 说: 好像出了点问题&nbsp;&nbsp;刷新以后点EX什么都没有出现...而且有时候刷新再看数会不对...
因为我爬取的页面有缓存,我等有时间看怎么改改
#20-4 - 2016-10-7 21:31
A.one
好像EX页面有时候会暴走  出现N个一样的条目(bgm38)
#20-5 - 2016-10-10 09:32
A.one
chaucer 说: 因为我爬取的页面有缓存,我等有时间看怎么改改
昨天在家用好像只要等一会就会出来 今天跑公司似乎又出不来了...缓存需要设置容量么?
用的是Chrome
#20-6 - 2016-10-10 15:59
chaucer
A.one 说: 昨天在家用好像只要等一会就会出来 今天跑公司似乎又出不来了...缓存需要设置容量么?
用的是Chrome
我在重写存储这部分了,改好了再@你
#20-7 - 2016-10-10 16:01
A.one
chaucer 说: 我在重写存储这部分了,改好了再@你
谢啦      顺便 今天试了一天EX那个页面都没出现(bgm38)
#20-8 - 2016-10-10 21:16
A.one
A.one 说: 谢啦&nbsp; &nbsp;&nbsp; &nbsp;顺便 今天试了一天EX那个页面都没出现
回家开就没事 点EX那里过几秒会弹出来
#20-9 - 2016-10-10 22:40
chaucer
A.one 说: 回家开就没事 点EX那里过几秒会弹出来
家里和公司都是同一个版本的chrome吗?
#20-10 - 2016-10-10 23:52
A.one
chaucer 说: 家里和公司都是同一个版本的chrome吗?
应该是吧  家里PC上周刚换的肯定是最新版本 公司的明天去更新下看...
#20-11 - 2016-10-13 10:53
A.one
试了下把公司PC的chrome完全删掉重装 似乎好了
#21 - 2017-3-17 17:10
Firefox EX 书籍栏是空白的,新添加在看书籍就有显示,以前添加的书籍不显示。
#22 - 2017-6-12 10:45
(琉璃烟火-Flame in Glass-)
以前超过50的部分永远在EX页面不会被送到前50去
最近SAI总把首页显示机制改成所有在看集体循环了
刚点的格子一定会被顶到前50的最上面去
看过的番经过时间越久就越会往下沉到50以外去
于是最近要看的格子一定会沉到50以外去

简单来说现在要点的格子一定在插件的EX页面  
然而EX页面
1.不会像前50一样按照看过的顺序排序 不知道最新应该看的是哪部 (本来首页50只要拉到最下面 至少可以看到前50部里目前要轮到哪部)
2.超过100话不会显示格子   只能点到条目里再点观看进度
3.每次点下EX页面里的格子因为会被顶到EX页面外去 所以不刷新就会出现里外都有同一部动画而刚下沉 只要不按更新按钮里外两个页面都会看不到这部动画的格子

于是这些问题有可能改善么?(bgm71)
#22-1 - 2017-6-12 20:26
chaucer
看来要重新写才行(bgm38)
我研究研究现在的显示规则
#22-2 - 2017-6-12 21:08
A.one
加油(bgm38)
#22-3 - 2017-7-12 00:33
chaucer
A.one 说: 加油
@A.one 更新了
#22-4 - 2017-7-12 13:09
A.one
chaucer 说: @A.one 更新了
了解   谢谢
#23 - 2017-7-12 00:32
(あなたの傷は私の食べ物)
更新到0.4.0了
目前在extra更新进度后,点击refresh,“50”显示的条目不会更新,但重新刷新页面后是进度管理是没问题,只是脚本显示逻辑的问题。
#23-1 - 2017-7-12 00:42
chaucer
至于为什么这个版本不解决这个问题
因为首先"50"页面要更新,最近更新进度的条目按现在bangumi的显示逻辑,要移到最前,最后的条目会被挤出50条目以外(这样感觉操作有点奇怪,点着点着格子,刷新后就移动了到另外的tab),另外如果extra条目直接拿条目详情页的格子移到“50”显示,会和刷新后首页显示的格子不一致(首页一个条目的格子最多72个,如果超出72是以看到的ep作为第一个)
@A.one  你作为用户看要怎么弄才能有比较好的体验
#23-2 - 2017-7-12 13:10
A.one
怎么好像原来的按钮没了(bgm38)  
就显示Maybe watching more than 50 animes and reals, loading to comfirm.(click to close)

然后点那里没反应 也没有50  extra  refresh按钮  是我Chrome的问题吗
#23-3 - 2017-7-12 13:19
A.one
chaucer 说: 至于为什么这个版本不解决这个问题
因为首先"50"页面要更新,最近更新进度的条目按现在bangumi的显示逻辑,要移到最前,最后的条目会被挤出50条目以外(这样感觉操作有点奇怪,点着点着格子,刷新后就...
最好当然是能在同一个页面里  
就是EX页面排到原来的50下面 不用点EX的按钮再切换显示
然后就是希望F5的同时 EX页面也能自动按refresh更新一次
#23-4 - 2017-7-12 20:14
chaucer
A.one 说: 最好当然是能在同一个页面里&nbsp;&nbsp;
就是EX页面排到原来的50下面 不用点EX的按钮再切换显示
然后就是希望F5的同时 EX页面也能自动按refresh更新一次
懂了,我改进一下
#23-5 - 2017-7-12 20:19
chaucer
A.one 说: 怎么好像原来的按钮没了&nbsp;&nbsp;
就显示Maybe watching more than 50 animes and reals, loading to comfirm.(click t...
在控制台->Application->Storage->localstorage 右键 clear
清理一下缓存试试
#23-6 - 2017-7-12 23:13
A.one
chaucer 说: 在控制台->Application->Storage->localstorage 右键 clear
清理一下缓存试试
控制台是啥(bgm38)  PC操作系统的?  顺便浏览器是Chrome
#23-7 - 2017-7-12 23:38
chaucer
A.one 说: 控制台是啥&nbsp;&nbsp;PC操作系统的?&nbsp;&nbsp;顺便浏览器是Chrome
f12
#23-8 - 2017-7-12 23:45
A.one
chaucer 说: f12
按CLEAR以后好像也没任何反应 关掉浏览器重开还是刚才那样 点那句话也不会消失
#23-9 - 2017-7-12 23:48
A.one
清理COOKIE 删了插件重装也试了下 还是那样...

Maybe watching more than 50 animes and reals, 4 books, loading to comfirm.(click to close)

有这句话但是点了没有反应 也没有按钮
#23-10 - 2017-7-13 00:25
chaucer
A.one 说: 清理COOKIE 删了插件重装也试了下 还是那样...

Maybe watching more than 50 animes and reals, 4 books, loading to comfi...
我更新了版本,你试试新版的
#23-11 - 2017-7-13 00:32
A.one
chaucer 说: 我更新了版本,你试试新版的
refresh 进入首页自动刷新extra项目进度

有这个了  但是...好像没有Ex页面的按钮(bgm38)

Maybe watching more than 50 点击以后消失
#23-12 - 2017-7-13 10:20
chaucer
A.one 说: refresh 进入首页自动刷新extra项目进度

有这个了&nbsp;&nbsp;但是...好像没有Ex页面的按钮

Maybe watching more than 50 点击以后消失
因为已经放在一起了
你把F12 -> console 的日志截图贴一下,我看是什么问题
#23-13 - 2017-7-13 10:48
A.one
chaucer 说: 因为已经放在一起了
你把F12 -> console 的日志截图贴一下,我看是什么问题
应该是在前50的下面?  反正refresh以后首页还是只有50也没有EX页面的按钮
#23-14 - 2017-7-13 17:49
chaucer
A.one 说: 应该是在前50的下面?&nbsp;&nbsp;反正refresh以后首页还是只有50也没有EX页面的按钮

现在应该是这样子的
原本extra的格子移到首页默认50部动画之后到后面,你数数现在首页显示的和你在看数目是不是一致?不一致就refresh刷新
#23-15 - 2017-7-13 18:53
A.one
chaucer 说:
现在应该是这样子的
原本extra的格子移到首页默认50部动画之后到后面,你数数现在首页显示的和你在看数目是不是一致?不一致就refresh刷新
refresh 进入首页自动刷新extra项目进度
Watching 64 animes, 0 reals and 4 books, loading extra subjects' progress.(click to close)

显示是这样 但是怎么刷都只有50个条目(bgm38)
#23-16 - 2017-7-13 19:35
chaucer
A.one 说: refresh 进入首页自动刷新extra项目进度
Watching 64 animes, 0 reals and 4 books, loading extra subjects' progress...
把控制台console打开,刷新页面再截图,让我看下log
#23-17 - 2017-7-13 19:46
#23-18 - 2017-7-13 21:13
chaucer
A.one 说:
V0.4.2 已修复
#23-19 - 2017-7-13 22:18
A.one
chaucer 说: V0.4.2 已修复
似乎好了     感谢dalao!
#24 - 2017-7-12 02:21
(电波不合半句多)
标题是不是穿越了(bgm38)
#24-1 - 2017-7-12 11:29
chaucer
改了(bgm38)
#25 - 2017-7-19 18:31
(琉璃烟火-Flame in Glass-)
好像出了点问题refresh 按钮不能按了    勾上那个√再刷新又会变成没勾的状态  

于是现在就是最下面那里条目不会更新了  和最上面的条目重复

然后黄条英文提示那里点了本来会消失的 现在没有任何反应


顺便用了几天还是感觉
1.EX那块不能按最近看过格子的顺序排序找起来有点累
而且现在是点一个格子顶上去一个以后 EX里的条目顺序又会重新随机打乱

2.超过100话的条目在EX里只会显示1-100的格子 不像前50能看到最新话
#25-1 - 2017-7-19 20:09
chaucer
把console打开,看一下有没有异常的报错,感觉是出异常导致脚本没跑完
然后清一下localstorage,看还有没有问题

第一点那个问题是因为如果进入首页都刷新一次,就会把缓存的数据清了,重新去在看列表找ex的条目,但是在看列表的那个顺序不是按格子更新的时间排序的,所以会乱了

第二点之前的版本也没实现这个feature,我加入todolist里吧
#25-2 - 2017-7-19 20:19
A.one
chaucer 说: 把console打开,看一下有没有异常的报错,感觉是出异常导致脚本没跑完
然后清一下localstorage,看还有没有问题
console里是空的  不过清了下localstorage似乎好了(bgm38)
#25-3 - 2017-7-19 20:21
A.one
chaucer 说:
第一点那个问题是因为如果进入首页都刷新一次,就会把缓存的数据清了,重新去...
意思是理论上不可能实现和50一样排序?
#25-4 - 2017-7-19 20:27
chaucer
A.one 说: 意思是理论上不可能实现和50一样排序?
是的
如果不勾上自动刷新,ex会使用缓存的顺序,可能体验好一点
而且自动刷新的意思是清除缓存重新爬去ex条目的进度,如果能保证只在首页点格子,不勾上是不会影响的
#25-5 - 2017-7-19 20:28
A.one
chaucer 说: 是的,如果不勾上自动刷新,ex会使用缓存的顺序,如果不是经常更新ex条目的进度可能体验好一点
了解了  谢谢