Greasy Fork is available in English.
批量下载#锋论坛的电子书
// ==UserScript== // @name WeiPhoneDownloadHelper // @namespace https://github.com/ywzhaiqi // @author ywzhaiqi // @version 1.3.2 // @description 批量下载#锋论坛的电子书 // @homepageURL https://greasyfork.org/scripts/668/ // @include http://bbs.feng.com/read-htm-tid-*.html // @include http://bbs.feng.com/thread-htm-fid-*.html // @include http://bbs.feng.com/forum.php* // @run-at document-end // @grant none // ==/UserScript== var $ = jQuery; var RES = getMStr(function(){ var html; /* <div> <button id="downloadButton">批量下载</button> <div id="batchPublish" style="display: none;"> <div id="batchHeader"> <a id="closeButton" class="aui_close" href="javascript:;">×</a> </div> <div id="batchContent"> <pre id="batchedlink"></pre> </div> </div> <div id="batchNotice" style="display:none"> </div> </div> */ var cssText; /* #downloadButton { position:fixed; top:80px; right:8px; z-index: 100; } #batchPublish { position:fixed; z-index:1001; top:40%; left:35%; width: 530px; background:white; border: 3px solid #AAA; } #batchedlink { height: 250px; overflow: scroll; } #batchNotice { position:fixed; z-index:1001; top:10%; left:35%; background: #F9EDBE; box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.5); border: 1px solid #FBDA91; padding: 5px; } #batchNotice > b { margin-left: 5px; } */ }); var locationHref = location.href; locationHref.match(/thread-htm-fid|mod=forumdisplay/) && (function(){ $('#bbs_top_news, #forum_rules_224').hide(); var hideText = [ "网易《迷你西游》手游公测", "3D纯正##风《水浒英雄》", "【软件】感恩父母,免费下载:【快速问医生】", "【软件】随时随地 移动视频!#6视频软件介绍", "#锋手游控:玩《龙纹三国》", "《放开那三国》#锋版火爆上线", "《天天#萌仙》", "炉石传说", "同步推", "苹果手游", "苹果助手", "兔兔助手", "同步推", "赢iPad mini", "得iPhone", "iPad mini2大奖", "删档封测火爆开启" ]; // 隐藏置顶广告的行 $('tbody[id^="stickthread_"]').each(function(row){ if ($(this).find('span[id^="rushtimer_"]').length) { $(this).hide(); return; } var text = $(this).text(); for (var i = 0, l = hideText.length; i < l; i++) { if (text.indexOf(hideText[i]) != -1) { $(this).hide(); return; } } }); })() locationHref.match(/read-htm-tid|mod=viewthread/) && (function(){ var preUrl = location.origin, attachSelector = '.attnm > a, span[id^="attach_"] > a', $attachs = $(attachSelector); if ($attachs.size() == 0) { return; } $('<style>').html(RES.cssText).appendTo('head'); $(RES.html).appendTo('body'); $('#closeButton').click(function(){ $('#batchPublish').hide(); }) $('#downloadButton').attr('title', '共 ' + $attachs.size() + ' 个附件').click(function(){ var links = $.makeArray($(attachSelector)) $batchNotice = $('#batchNotice'); var downUrls = []; $batchNotice.html('正在获取中...' + '<b>1/' + links.length + '</b>') .show(); function handleR###lt() { if (links.length > 0) { $batchNotice.html('正在获取中...' + '<b>' + downUrls.length + '/' + links.length + '</b>'); getDownloadLink(); } else { var urls = downUrls.join('\n'); // console.log(urls); $batchNotice.hide(); $('#batchedlink').html(urls); $('#batchPublish').show(); // 高亮选中文本 var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents($('#batchedlink')[0]); selection.removeAllRanges(); selection.addRange(range); } } function getDownloadLink() { var link = links.shift(); if (!link) return; var url = link.href; if (url.indexOf('aid=') > 0) { downUrls.push(url); handleR###lt(); } else { var m = link.getAttribute('onclick').match(/jQuery.get\('(.*?)',/); if (m) { var url = m[1]; $.get(url, {}, function(data){ var downUrl = $('<div>').html(data).find('a:first').attr('href'); downUrl = preUrl + downUrl; downUrls.push(downUrl) handleR###lt(); }); } } } getDownloadLink() }); })() // 从函数中获取多行注释的字符串 function getMStr(fn) { var fnSource = fn.toString(); var ret = {}; fnSource = fnSource.replace(/^[^{]+/, ''); // console.log(fnSource); var matched; var reg = /var\s+([$\w]+)[\s\S]*?\/\*([\s\S]+?)\*\//g; while (matched = reg.exec(fnSource)) { // console.log(matched); ret[matched[1]] = matched[2]; }; return ret; }