Zimuku Sort

字幕库按下载量排序,内嵌下载页面

  1. // ==UserScript==
  2. // @name Zimuku Sort
  3. // @namespace Violentmonkey Scripts
  4. // @match *://zimuku.org/subs/*
  5. // @match *://zimuku.org/detail/*
  6. // @match *://zimuku.org/dld/*
  7. // @grant GM_addStyle
  8. // @version 0.5.1
  9. // @author Ifover
  10. // @license MIT License
  11. // @description 字幕库按下载量排序,内嵌下载页面
  12. // ==/UserScript==
  13.  
  14. (function () {
  15. let style_zimuku = `
  16. .main .container{
  17. padding-left:0;
  18. }
  19. .main .container table tr td:nth-child(2){
  20. display:none;
  21. }
  22. .main .container table {
  23. border:none !important ;
  24. margin:0!important ;
  25. }
  26. .subinfo.clearfix .li.dlsub{
  27. display:none;
  28. }
  29.  
  30. `;
  31.  
  32. GM_addStyle(style_zimuku);
  33. if (location.href.indexOf("dld") === -1) {
  34. let tbody = $(".table tbody");
  35. let hTr = tbody.children();
  36. let trArr = Array.from(hTr);
  37.  
  38. let sortNumArr = [];
  39. for (let tr of trArr) {
  40. let tds = $(tr).children();
  41. if (tds.length) {
  42. let num = $(tds[3]).text() || $(tds[4]).text();
  43.  
  44. num =
  45. num.indexOf("万") !== -1 ? parseFloat(num) * 10000 : parseInt(num);
  46. sortNumArr.push(num);
  47. }
  48. }
  49.  
  50. for (let i = 0; i < sortNumArr.length; i++) {
  51. for (let j = 0; j < i; j++) {
  52. if (sortNumArr[i] > sortNumArr[j]) {
  53. let temp = sortNumArr[i];
  54. sortNumArr[i] = sortNumArr[j];
  55. sortNumArr[j] = temp;
  56.  
  57. let temp2 = trArr[i];
  58. trArr[i] = trArr[j];
  59. trArr[j] = temp2;
  60. }
  61. }
  62. }
  63.  
  64. hTr.remove();
  65. for (let tr of trArr) {
  66. tbody.append(tr);
  67. }
  68.  
  69. let subInfo = $(".subinfo.clearfix");
  70. if (subInfo) {
  71. let liC = document.createElement("li");
  72.  
  73. let ifrm = document.createElement("iframe");
  74. // ifrm.id = 'download_page'
  75. let page = location.href.substr(location.href.indexOf('detail') + 7)
  76. ifrm.src = "https://zimuku.org/dld/" + page;
  77. ifrm.style.border = "none";
  78. ifrm.style.width = "400px";
  79. ifrm.style.height = "166px";
  80. liC.append(ifrm);
  81. subInfo.append(liC);
  82. }
  83. }
  84. })();