您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在书籍目录页添加下载链接,并优化部分小说的在线阅读功能(插图章节的单独处理)
当前为
// ==UserScript== // @name 轻小说文库下载 // @namespace wenku8Haoa // @version 1.0 // @description 在书籍目录页添加下载链接,并优化部分小说的在线阅读功能(插图章节的单独处理) // @author HaoaW // @match https://www.wenku8.net/* // @match http://www.wenku8.net/* // @connect dl.wenku8.com // @require http://code.jquery.com/jquery-3.5.1.min.js // @grant GM_xmlhttpRequest // ==/UserScript== (function() { 'use strict'; //替换所有 String.prototype.replaceAll= function(exp,newStr){ return this.replace(new RegExp(exp,"gm"),newStr); }; //标记含有html代码的行 var htmlLine = function(txt){ return 'c1ef6520'+ txt +'1a5219e9b2b0'; }; //格式化内容 var contentFormat = function(txt){ //设置章节名样式 let txtTmp = txt.replaceAll(/^ {2}\S+.*$/, function(match){ return htmlLine('<br/><div style="background:#e4e1d8" id="title">'+ match.trim() +'</div>'); } ); txtTmp = $('<div></div>').text(txtTmp).html(); txtTmp = txtTmp.replaceAll(/ /,' '); txtTmp = txtTmp.replaceAll(/(c1ef6520).*(1a5219e9b2b0)/, function(match){ return $('<div></div>').html(match.replaceAll(/( )/,' ').replace('c1ef6520','').replace('1a5219e9b2b0','')).text(); } ); txtTmp = txtTmp.replaceAll(/[\r\n]+/,'<br/>'); return txtTmp; }; //格式化图片 var imgFormat = function(txt){ let imgResultRoot = $('<div></div>'); let imgRoot = $('<div></div>').html(txt); $('.divimage',imgRoot).each(function(){ let jqthis = $(this); let imgURL = jqthis.attr('title');//取得图片url let itemEle = $('<div class="divimage"><a target="_blank"><img border="0" class="imagecontent" /></a></div>'); $('a',itemEle).attr('href',imgURL); $('img',itemEle).attr('src',imgURL); imgResultRoot.append(itemEle); }); return imgResultRoot.html(); } //目录页面或内容会声明章节变量。 if('undefined' == typeof chapter_id || undefined===chapter_id) return; //本书编号 article_id //目录页面章节id定义为 '0' if('0' == chapter_id){//在章节名之后添加下载链接 //书名 let aname = $('#title').text(); //添加全本下载链接 let allDLink = 'http://dl.wenku8.com/down.php?type=utf8&id='+article_id+'&fname='+aname; let allaEle = '<a href="'+allDLink+'"> 全本下载(utf-8)</a>'; $('#title').append(allaEle); $('.vcss').each(function(){ let jqthis = $(this); let vname = jqthis.text(); let nextChapter = jqthis.parent().next().children().first(); let vid = $('a',nextChapter).attr('href').split('.')[0]; //vid = (Number(vid)-1).toString();//部分文章无法使用章节减1来下载,直接使用章节可以下载(下载内容使用-1时章节名包含小说名,不-1不包含小说名) let dlink = 'http://dl.wenku8.com/packtxt.php?aid='+article_id+ '&vid='+vid+'&aname='+aname+'&vname='+vname+'&charset=utf-8'; let aEle = '<a href="'+dlink+'"> 下载(utf-8)</a>' jqthis.append(aEle); }); return; } if('0' != chapter_id){//内容页面 //如果包含一个内容为 'null'的span则判定为版权限制 if($('#contentmain span').first().text().trim() == 'null'){ //设置下一页和上一页快捷键到目录页 preview_page = next_page = index_page; $('#content').text('正在下载,请稍候...'); let chapterTitle = $('#title').text(); //标题含有"插图"则判定为插图章节 if(-1 != chapterTitle.indexOf('插图')){ let dlink = 'http://dl.wenku8.com/pack.php?aid='+article_id+ '&vid='+chapter_id; GM_xmlhttpRequest({ method :'GET', url :dlink, onload :function(response){ if(response.statusText == "OK"){ let formatImg = imgFormat(response.responseText); $('#content').html(formatImg); }else{ $('#content').text('下载失败'); } }, }); }else{ let dlink = 'http://dl.wenku8.com/packtxt.php?aid='+article_id+ '&vid='+chapter_id; GM_xmlhttpRequest({ method :'GET', url :dlink, onload :function(response){ if(response.statusText == "OK"){ let formatTxt = contentFormat(response.responseText); $('#content').html(formatTxt); //$('#content').text(response.responseText); }else{ $('#content').text('下载失败'); } }, }); } } } // Your code here... })();