动漫花园批量下载_改

为动漫花园(share.dmhy.org)增加批量下载的功能

  1. // ==UserScript==
  2. // @name 动漫花园批量下载_改
  3. // @namespace https://gf.qytechs.cn/zh-CN/scripts/502439
  4. // @version 0.6.01
  5. // @description 为动漫花园(share.dmhy.org)增加批量下载的功能
  6. // @author MD1304
  7. // @match *://share.dmhy.org/*
  8. // @icon data:image/x-icon;base64,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
  9. // @grant GM_setClipboard
  10. // @license LGPLv3
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. //调整表格列
  15. var node = document.querySelector("#topic_list > thead > tr");
  16. node.children[2].insertAdjacentHTML('beforebegin', node.children[3].outerHTML);
  17. node.children[2].querySelector('[class="title"]').innerHTML = "";
  18. for (let i = 1; i < $('#topic_list tr').length; i++) {
  19. node = document.querySelector("#topic_list > tbody > tr:nth-child("+String(i)+")");
  20. node.getElementsByClassName("title")[0].insertAdjacentHTML('beforebegin', node.children[3].outerHTML);
  21. node.children[2].children[0].title ="复制链接";
  22. node.children[2].removeChild(node.children[2].querySelector('[class="download-pp"]'));
  23. if (node.children[9].children[0].innerHTML != Cut15Byte(node.children[9].children[0].innerHTML)) {
  24. node.children[9].children[0].title = node.children[9].children[0].innerHTML;
  25. node.children[9].children[0].innerHTML = Cut15Byte(node.children[9].children[0].innerHTML);
  26. }
  27. }
  28. //裁剪大于15字节字符串
  29. function Cut15Byte(str) {
  30. //判断字符串全是ascii /^[\x00-\x7F]+$/.test(str)
  31. //长度小于16的全ascii字符串或长度小于9的非全ascii不裁剪
  32. if ((/^[\x00-\x7F]+$/.test(str) && str.length < 17) || (!/^[\x00-\x7F]+$/.test(str) && str.length < 9)) {
  33. return str;
  34. } else {
  35. let length = 0;
  36. for (let i = 0; i < str.length; i++) {
  37. let charCode = str.charCodeAt(i);
  38. if ((charCode >= 0x0001 && charCode <= 0x007F) || (charCode >= 0x02B9 && charCode <= 0x036F)) {length += 1;} else {length += 2;}
  39. if (length>=16) {
  40. return str.slice(0, i-1)+"...";
  41. } else {
  42. if (i == str.length) {return str;}
  43. }
  44. }
  45. }
  46. }
  47. //调整表格列宽度
  48. document.querySelector("#topic_list > thead > tr > th:nth-child(2)").width = "4%";
  49. document.querySelector("#topic_list > thead > tr > th:nth-child(3)").width = "3%";
  50. document.querySelector("#topic_list > thead > tr > th:nth-child(5)").width = "2%";
  51. document.querySelector("#topic_list > thead > tr > th:nth-child(6)").width = "4%";
  52. document.querySelector("#topic_list > thead > tr > th:nth-child(7)").width = "2%";
  53. document.querySelector("#topic_list > thead > tr > th:nth-child(8)").width = "2%";
  54. document.querySelector("#topic_list > thead > tr > th:nth-child(9)").width = "2%";
  55. document.querySelector("#topic_list > thead > tr > th:nth-child(10)").width = "7%";
  56. })();
  57.  
  58. function dmhy() {
  59. var that = this;
  60. this.init = function () {
  61. //复选框
  62. var tds = $('#topic_list tr td:nth-child(3)');
  63. tds.append('<input type="checkbox" class="magnet"/>');
  64. $('.magnet:checkbox').click(function () {
  65. that.strMagnet();
  66. console.log("已选中 "+that.gatherMagnet().length+" 项");
  67. });
  68. //复制所选
  69. $('.nav_title:eq(1) .fl,.nav_title:eq(2)').append('<a class="download-all" style="color:yellow;margin-left: 24px;"><i class="download-arrow arrow-magnet" style="margin-right: 4px;"title="复制所选"></i>复制所选链接至剪贴板</a>');
  70. $('#topic_list thead tr th:nth-child(3) span').append('<a class="download-all" style="color:yellow;"><i class="download-arrow arrow-magnet" title="复制所选">&nbsp;</i></a>');
  71. $('.download-all').click(function (e) {
  72. e.preventDefault();
  73. if (that.gatherMagnet().length == 0) {
  74. toast("未选中任何条目");
  75. return;
  76. }
  77. GM_setClipboard(that.strMagnet()+"\r\n");
  78. console.log("已复制 "+that.gatherMagnet().length+" 项");
  79. toast("已复制 "+that.gatherMagnet().length+" 项 选中条目链接");
  80. });
  81. //全选
  82. $('#topic_list thead tr th:nth-child(3) span').append('<input class="select-all" type="checkbox" style="margin-left: 3px;" title="全选"></a>');
  83. $('.select-all').click(function () {
  84. if ($('.magnet:checkbox').length !== $('.magnet:checkbox:checked').length) {
  85. $('.magnet:checkbox').attr('checked', true);
  86. } else {
  87. $('.magnet:checkbox').attr('checked', false);
  88. }
  89. that.strMagnet();
  90. console.log("已选中 "+that.gatherMagnet().length+" 项");
  91. });
  92. //复制当前
  93. $('td:nth-child(3) > a.download-arrow.arrow-magnet').click(function (f) {
  94. f.preventDefault();
  95. GM_setClipboard(this.getAttribute("href")+"\r\n");
  96. console.log("已复制 当前 项");
  97. toast("已复制当前条目链接");
  98. });
  99. };
  100. //收集磁力链接
  101. this.gatherMagnet = function () {
  102. var magnets = [];
  103. $('input.magnet:checkbox:checked').each(function () {
  104. var magnetStr = $(this).parents('tr').find('a.download-arrow.arrow-magnet').attr('href');
  105. magnets.push(magnetStr);
  106. });
  107. return magnets;
  108. };
  109. //格式化磁力链接字符串
  110. this.strMagnet = function () {
  111. var str = this.gatherMagnet().join('\r\n');
  112. $('.download-all').attr('href', str);
  113. return str;
  114. };
  115. //弹出提示框
  116. function toast(msg) {
  117. var toastSpan = document.createElement("span");
  118. toastSpan.style.top = "45%";
  119. toastSpan.style.left = "50%";
  120. toastSpan.style.color = "#fff";
  121. toastSpan.style.position = "fixed";
  122. toastSpan.style.borderRadius = "4px";
  123. toastSpan.style.padding = "8px 16px";
  124. toastSpan.style.background = "rgba(0,0,0,0.6)";
  125. toastSpan.style.transform = "translate(-50%, -50%)";
  126. toastSpan.style.transition = "opacity .3s";
  127. toastSpan.style.opacity = "1";
  128. toastSpan.innerText = msg;
  129. document.body.appendChild(toastSpan);
  130. setTimeout(function () {
  131. toastSpan.style.opacity = "0";
  132. setTimeout(function () {
  133. toastSpan.remove(toastSpan);
  134. }, 300);
  135. }, 1500);
  136. }
  137. }
  138. new dmhy().init();

QingJ © 2025

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