Greasy Fork

Greasy Fork is available in English.

追新番复制所有磁力链接

追新番快捷复制所有磁力链接

当前为 2019-09-21 提交的版本,查看 最新版本

// ==UserScript==
// @name         追新番复制所有磁力链接
// @include      *zhuixinfan.com/viewtvplay*
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  追新番快捷复制所有磁力链接
// @author       [email protected]
// @grant GM_xmlhttpRequest
// ==/UserScript==

(function() {
  "use strict";
  // Your code here...
  injectMyScript();
})();
function injectMyScript() {
  var filterTabEle = document.querySelectorAll(".filter-tab");
  if (filterTabEle && filterTabEle[0]) {
    var span = document.createElement("span");
    span.className = "a y";
    span.setAttribute("style", `margin:auto 2px;cursor:pointer`);
    var a = document.createElement("a");
    a.textContent = "复制全部连接";
    span.appendChild(a);
    span.addEventListener(
      "click",
      function() {
        CallBack(Result);
      },
      false
    );
    filterTabEle[0].appendChild(span);
  }
}
function CallBack(callback) {
  var list = getUrls();
  var all = [];
  function doFunc(counter) {
    if (counter < list.length) {
      var link = list[counter];
      setTimeout(() => {
        getMU(link, stream => {
          all.push(stream);
          doFunc(counter + 1);
        });
      }, 10);
    } else {
      console.log("done");
      callback(all.join("\n"));
    }
  }
  doFunc(0);
}
function Result(murl) {
  window.Clipboard.copy(murl);
}
function getUrls() {
  var urls = [];
  var list = document.getElementById("ajax_tbody").querySelectorAll(".td2");
  for (var i = 0; i < list.length; i++) {
    urls.push(list[i].children[0].href);
  }
  return urls;
}
function getMU(_url, callback) {
  GM_xmlhttpRequest({
    method: "GET",
    url: _url,
    onload: function(response) {
      var content = response.responseText;
      var from = content.indexOf(`<dd class="a1" id="torrent_url">`);
      var stream = "";
      var endTag = "</dd>";
      var temp = "";
      for (var i = from + 32; i < content.length; i++) {
        var e = content[i];
        stream += e;
        if (e === endTag[temp.length]) {
          temp += e;
          if (temp.length === endTag.length) {
            stream = stream.substring(0, stream.length - endTag.length);
            break;
          }
        } else {
          temp = "";
        }
      }

      callback(stream);
    }
  });
}
window.Clipboard = (function(window, document, navigator) {
  var textArea, copy;

  // 判断是不是ios端
  function isOS() {
    return navigator.userAgent.match(/ipad|iphone/i);
  }
  //创建文本元素
  function createTextArea(text) {
    textArea = document.createElement("textArea");
    textArea.value = text;
    document.body.appendChild(textArea);
  }
  //选择内容
  function selectText() {
    var range, selection;

    if (isOS()) {
      range = document.createRange();
      range.selectNodeContents(textArea);
      selection = window.getSelection();
      selection.removeAllRanges();
      selection.addRange(range);
      textArea.setSelectionRange(0, 999999);
    } else {
      textArea.select();
    }
  }

  //复制到剪贴板
  function copyToClipboard() {
    try {
      if (document.execCommand("Copy")) {
        alert("复制成功!");
      } else {
        alert("复制失败!请手动复制!");
      }
    } catch (err) {
      alert("复制错误!请手动复制!");
    }
    document.body.removeChild(textArea);
  }

  copy = function(text) {
    createTextArea(text);
    selectText();
    copyToClipboard();
  };

  return {
    copy: copy
  };
})(window, document, navigator);