Bangumi Show Watching Days

首页显示在看条目的已看天数,收藏页面显示条目的已看天数和完成天数,先去“在看”页面获取时间方可正常使用

目前為 2017-12-31 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Bangumi Show Watching Days
  3. // @namespace https://github.com/bangumi/scripts/liaune
  4. // @version 0.2
  5. // @description 首页显示在看条目的已看天数,收藏页面显示条目的已看天数和完成天数,先去“在看”页面获取时间方可正常使用
  6. // @author Liaune
  7. // @include /^https?://(bangumi\.tv|bgm\.tv|chii\.in)\/(.+?/list)?/
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12.  
  13. const You=document.querySelectorAll('#headerNeue2 .idBadgerNeue a.avatar')[0].href.split('/user/')[1];
  14. const User =window.location.href.match(/\/list\/(\S+)\//)? window.location.href.match(/\/list\/(\S+)\//)[1]: null;
  15. //在首页显示已看天数
  16. if($('#prgSubjectList')){
  17. let watchlist = document.querySelectorAll('#prgSubjectList li.clearit');
  18. watchlist.forEach( (elem, index) => {
  19. let ID_w=elem.querySelector('a.title').href.split('/subject/')[1];
  20. if(localStorage.getItem(You+'Time_do'+ID_w)){
  21. let date = new Date(localStorage.getItem(You+'Time_do'+ID_w));
  22. let now = new Date();
  23. let durtime = parseInt((now.getTime() - date.getTime())/(24 * 60 * 60 * 1000));
  24. let showdurtime = document.createElement('span');
  25. showdurtime.className = 'tip_j';
  26. showdurtime.innerHTML = " (已看"+ durtime +"天) ";
  27. showdurtime.style.color='blue';
  28. if(durtime>=100) showdurtime.style.color='red';
  29. elem.append(showdurtime);
  30. }
  31. });
  32. }
  33. //在收藏页面获取和显示已看天数和完成天数
  34. if($('#browserItemList li.item')){
  35. itemsList = document.querySelectorAll('#browserItemList li.item');
  36. itemsList.forEach( (elem, index) => {
  37. let href = elem.querySelector('a.subjectCover').href;
  38. let ID = href.split('/subject/')[1];
  39. if(window.location.href.match(/\/list\/(\S+)\/do|on_hold/)){
  40. let Time_do = elem.querySelector('.inner .collectInfo span.tip_j')? elem.querySelector('.inner .collectInfo span.tip_j').innerHTML: null;
  41. if(Time_do && !localStorage.getItem(User+'Time_do'+ID)) localStorage.setItem(User+'Time_do'+ID,Time_do);
  42. let date = new Date(localStorage.getItem(User+'Time_do'+ID));
  43. let now = new Date();
  44. let durtime = parseInt((now.getTime() - date.getTime())/(24 * 60 * 60 * 1000));
  45. let showdurtime = document.createElement('span');
  46. showdurtime.className = 'tip_j';
  47. showdurtime.innerHTML = " (已看"+ durtime +"天) ";
  48. showdurtime.style.color='blue';
  49. if(durtime>=100) showdurtime.style.color='red';
  50. elem.querySelector('.inner .collectInfo').insertBefore(showdurtime,elem.querySelector('.inner .collectInfo span.tip_i'));
  51. }
  52. else if(window.location.href.match(/\/list\/(\S+)\/collect/)){
  53. let Time_finish = elem.querySelector('.inner .collectInfo span.tip_j')? elem.querySelector('.inner .collectInfo span.tip_j').innerHTML: null;
  54. if(Time_finish) localStorage.setItem(User+'Time_finish'+ID,Time_finish);
  55. let Time_do = localStorage.getItem(User+'Time_do'+ID);
  56. let date = new Date(Time_finish);
  57. let date0 = Time_do ? new Date(Time_do): null;
  58. let durtime = date0 ? parseInt((date.getTime() - date0.getTime())/(24 * 60 * 60 * 1000)): null;
  59. if(durtime){
  60. let showdurtime = document.createElement('span');
  61. showdurtime.className = 'tip_j';
  62. showdurtime.innerHTML = " (历时"+ durtime +"天) ";
  63. showdurtime.style.color='blue';
  64. if(durtime>=100) showdurtime.style.color='red';
  65. elem.querySelector('.inner .collectInfo').insertBefore(showdurtime,elem.querySelector('.inner .collectInfo span.tip_i'));
  66. }
  67. }
  68. });
  69. }
  70. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址