|
4 | 4 | // @name:zh-TW 懶人小説下載器 |
5 | 5 | // @name:ja 怠惰者小説ダウンロードツール |
6 | 6 | // @namespace hoothin |
7 | | -// @version 1.16 |
| 7 | +// @version 1.17 |
8 | 8 | // @description Fetch and download main content on current page, provide special support for chinese novel |
9 | 9 | // @description:zh-CN 通用网站内容抓取工具,可批量抓取小说、论坛内容等并保存为TXT文档 |
10 | 10 | // @description:zh-TW 通用網站內容抓取工具,可批量抓取小說、論壇內容等並保存為TXT文檔 |
|
52 | 52 | break; |
53 | 53 | } |
54 | 54 | var firefox=navigator.userAgent.toLowerCase().indexOf('firefox')!=-1; |
| 55 | + var rocketContent,txtDownContent,txtDownWords,txtDownQuit,txtDownDivInited=false; |
55 | 56 |
|
56 | | - function indexDownload(aEles){ |
57 | | - var rocketContent=document.createElement("div"); |
| 57 | + function initTxtDownDiv(){ |
| 58 | + if(txtDownDivInited)return; |
| 59 | + txtDownDivInited=true; |
| 60 | + rocketContent=document.createElement("div"); |
58 | 61 | document.body.appendChild(rocketContent); |
59 | 62 | rocketContent.outerHTML=` |
60 | 63 | <div id="txtDownContent" style="display: none;"> |
61 | 64 | <div style="width:300px;height:70px;position:fixed;left:50%;top:50%;margin-top:-25px;margin-left:-150px;z-index:100000;background-color:#ffffff;border:1px solid #afb3b6;border-radius:10px;opacity:0.95;filter:alpha(opacity=95);box-shadow:5px 5px 20px 0px #000;"> |
62 | 65 | <div id="txtDownWords" style="position:absolute;left:20px;top:10px;width:260px;"> |
63 | 66 | </div> |
64 | | - <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAA5FBMVEUAAAD+/v7////9/f7////////+/v7+/v7////+/v7+/v7////+/v7+/v7////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////////////+/v7+/v7+/v7+/v7+/v4uje3///82ke7s9P3N5PtQoPDI4fqCu/Tu9v5Im+/6/P+VxfZgqPFNnvDp8/3f7fq42Pmnz/d1tPNvsfNkq/JCmO/4+/7X6fz19/rn8PqYx/aNwfV8uPRqrvJZpfFUovAzkO3Q5vu92/mr0fieyva92fWx0vQ6lO5pygFTAAAAJHRSTlMAmfD+RMGwgj2mknlIKR/36+XGnIyHfnJfVDk2My8S4E1CJBvTatKDAAABY0lEQVQoz4WSZ1fCMBRA05ahLPfemkspBUFwgGz3+P//x/hK6ZBzvB/ak96+kZeoGCtFK5eziitqCSfWOnM2CuWUrOyQYPc0bjM2htHXh+/ffQ4lQ6zEPoZ6TwdUp10M56EtAe5MR7y0HGAeX7Ghe6MTzIZwFtTfBrepUzw4UFSGY8CUTTMGLo3eglv58By21pRnB7aNBqTwPfWq/OVey9sH22wZXiWo6Yr3GtRl/f0IRyoPYy14v97YWjVY12BPrcK9XvhaZPUdWCoLbR35yOoW5P7R8eQ3JrmbSp6HVmSrXuTrmNYyUAs2JkL6D6YjG1PgNGXK87F4nWAsUxmL2gyH6oVD7cuhdqFg9CE4T/oPE6CsgvBOP21715AP7ugaDFK+3YD1KyUcAG47bn0TSylxFd8WDTwMMByoBSUHw+jd9/3JbQODnVExygUS7FRUksPVtdDZW8dqCZm8lc1auxcq4gc02GVGTUchmgAAAABJRU5ErkJggg==" id="txtDownQuit" style="position:absolute;right:0px;top:0px;cursor: pointer;" /> |
| 67 | + <div id="txtDownQuit" style="width:28px;height:28px;border-radius:14px;position:absolute;right:2px;top:2px;cursor: pointer;background-color:#3892ed;"> |
| 68 | + <span style="height:28px;line-height:28px;display:block;color:#FFF;text-align:center;font-size:20px;">╳</span> |
| 69 | + </div> |
65 | 70 | </div> |
66 | 71 | </div>`; |
67 | | - var txtDownContent=document.querySelector("#txtDownContent"); |
68 | | - var txtDownWords=document.querySelector("#txtDownWords"); |
69 | | - var txtDownQuit=document.querySelector("#txtDownQuit"); |
| 72 | + txtDownContent=document.querySelector("#txtDownContent"); |
| 73 | + txtDownWords=document.querySelector("#txtDownWords"); |
| 74 | + txtDownQuit=document.querySelector("#txtDownQuit"); |
70 | 75 | txtDownQuit.onclick=function(){ |
71 | 76 | txtDownContent.style.display="none"; |
72 | 77 | txtDownContent.parentNode.removeChild(txtDownContent); |
73 | 78 | }; |
| 79 | + } |
| 80 | + |
| 81 | + function indexDownload(aEles){ |
| 82 | + initTxtDownDiv(); |
74 | 83 | var j=0,rCats=[]; |
75 | 84 | function getDocEle(str){ |
76 | 85 | var doc = null; |
|
111 | 120 | function getPageContent(doc){ |
112 | 121 | if(!doc)return i18n.error; |
113 | 122 | var i,j,k,rStr="",pageData=(doc.body?doc.body:doc).cloneNode(true),delList=[]; |
114 | | - [].forEach.call(pageData.querySelectorAll("script,style,link,img"),function(item){delList.push(item);}); |
| 123 | + [].forEach.call(pageData.querySelectorAll("script,style,link,img,noscript"),function(item){delList.push(item);}); |
115 | 124 | [].forEach.call(delList,function(item){item.parentNode.removeChild(item);}); |
116 | 125 | [].forEach.call(pageData.querySelectorAll("font.jammer"),function(item){ |
117 | 126 | item.parentNode.removeChild(item); |
|
0 commit comments