您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
display ed2k links on verycd.com
当前为
- // ==UserScript==
- // @name display ed2k links on verycd
- // @description display ed2k links on verycd.com
- // @namespace JaHIY
- // @author JaHIY
- // @version 0.2.2
- // @grant GM_xmlhttpRequest
- // @match http://www.verycd.com/topics/*
- // @homepageURL https://greasyfork.org/scripts/5032
- // @run-at document-end
- // ==/UserScript==
- (function(){
- 'use strict';
- /*
- * DOMParser HTML extension
- * 2012-09-04
- *
- * By Eli Grey, http://eligrey.com
- * Public domain.
- * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
- */
- /*! @source https://gist.github.com/1129031 */
- /*global document, DOMParser*/
- (function(DOMParser) {
- "use strict";
- var DOMParser_proto = DOMParser.prototype,
- real_parseFromString = DOMParser_proto.parseFromString;
- // Firefox/Opera/IE throw errors on unsupported types
- try {
- // WebKit returns null on unsupported types
- if ((new DOMParser).parseFromString("", "text/html")) {
- // text/html parsing is natively supported
- return;
- }
- } catch (ex) {}
- DOMParser_proto.parseFromString = function(markup, type) {
- if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
- var doc = document.implementation.createHTMLDocument("");
- if (markup.toLowerCase().indexOf('<!doctype') > -1) {
- doc.documentElement.innerHTML = markup;
- }
- else {
- doc.body.innerHTML = markup;
- }
- return doc;
- } else {
- return real_parseFromString.apply(this, arguments);
- }
- };
- }(DOMParser));
- document.getElementById('iptcomED2K').children.length === 1 &&
- GM_xmlhttpRequest({
- method: 'GET',
- url: 'http://www.icili.com/emule/download/' + window.location.pathname.match(/^\/topics\/(\d+)\/?$/)[1],
- headers: {
- 'User-Agent': 'Mozilla/5.0',
- 'Cache-Control': 'no-cache',
- 'Origin': 'http://www.icili.com',
- 'Referer': 'http://www.icili.com'
- },
- onload: function (res) {
- var parser = new DOMParser(),
- children = parser.parseFromString(res.responseText, 'text/html').getElementById('emuleFile').firstElementChild.children,
- files = [],
- wrapper = document.getElementById('iptcomED2K'),
- docfrag = document.createDocumentFragment();
- for (let i=1, l=children.length-1, child; i<l; i++) {
- child = children[i].children[1].firstElementChild;
- files.push({
- 'title': child.title.trim(),
- 'href': child.href,
- 'size': children[i].children[2].textContent.trim()
- });
- }
- {
- let emuletop = document.createElement('div'),
- emulemain = emuletop.cloneNode(false),
- tbl = document.createElement('table'),
- random_code = 'EM51da5b7de03b7';
- emuletop.className = 'emuletop';
- emuletop.textContent = '电驴资源';
- docfrag.appendChild(emuletop);
- emulemain.className = 'emulemain';
- docfrag.appendChild(emulemain);
- tbl.cellPadding = '2';
- tbl.cellSpacing = '1';
- tbl.width = '100%';
- emulemain.appendChild(tbl);
- {
- let row = tbl.insertRow(-1),
- cell = row.insertCell(-1),
- archor = document.createElement('a');
- cell.className = 'needemule';
- cell.colSpan = '2';
- archor.href = 'http://www.easymule.com/';
- archor.textContent = '下面是用户共享的文件列表,安装电驴后,您可以点击这些文件名进行下载';
- cell.appendChild(archor);
- }
- for (let i=0, l=files.length, row, cell_filename, cell_size, input, archor; i<l; i++) {
- row = tbl.insertRow(-1);
- cell_filename = row.insertCell(-1);
- cell_size = row.insertCell(-1);
- input = document.createElement('input');
- archor = document.createElement('a');
- cell_filename.className = cell_size.className = (i%2 === 0) ? 'post2' : 'post';
- input.className = 'forminput';
- input.type = 'checkbox';
- input.name = random_code;
- input.value = files[i]['href'];
- input.defaultChecked = true;
- input.setAttribute('onclick', 'em_size("' + random_code + '");');
- archor.href = archor.ed2k = files[i]['href'];
- archor.textContent = files[i]['title'];
- cell_filename.appendChild(input);
- cell_filename.appendChild(archor);
- cell_size.align = 'center';
- cell_size.textContent = files[i]['size'];
- }
- {
- let row = tbl.insertRow(-1),
- cell = row.insertCell(-1),
- input_checkbox = document.createElement('input'),
- input_button = input_checkbox.cloneNode(false),
- label = document.createElement('label'),
- span = document.createElement('span'),
- script = document.createElement('script');
- cell.align = 'left';
- cell.className = (files.length%2 === 0) ? 'post2' : 'post';
- input_checkbox.className = 'forminput';
- input_checkbox.type = 'checkbox';
- input_checkbox.id = 'checkall_' + random_code;
- input_checkbox.defaultChecked = true;
- input_checkbox.setAttribute('onclick', 'checkAll("' + random_code + '",this.checked)');
- label.htmlFor = 'checkall_' + random_code;
- input_button.type = 'button';
- input_button.className = 'button downall';
- input_button.value = '下载选中的文件';
- input_button.setAttribute('onclick', 'download("' + random_code + '",0,1)');
- span.id = 'updateflash' + random_code;
- script.type = 'text/javascript';
- script.textContent = 'changeUpdateFlash("' + random_code + '");new MultiCheckBox("' + random_code + '");';
- cell.appendChild(input_checkbox);
- cell.appendChild(label);
- cell.appendChild(input_button);
- cell.appendChild(span);
- cell.appendChild(script);
- }
- }
- wrapper.replaceChild(docfrag, wrapper.firstElementChild);
- }
- });
- })();