|
1 | 1 | // ==UserScript== |
2 | 2 | // @name 自动无缝翻页 |
3 | | -// @version 1.9.6 |
| 3 | +// @version 1.9.7 |
4 | 4 | // @author X.I.U |
5 | | -// @description 无缝拼接下一页内容,目前支持:[所有使用「Discuz!、Flarum、DUX(WordPress)」的网站]、百度、谷歌、必应、贴吧、豆瓣、微博、NGA(玩家社区)、V2EX、看雪论坛、煎蛋网、超能网、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、小霸王其乐无穷、茶杯狐、NO视频、低端影视、奈菲影视、91美剧网、真不卡影院、片库、音范丝、BT之家、爱恋动漫、Nyaa、SrkBT、RARBG、423Down、不死鸟、小众软件、极简插件、果核剥壳、六音软件、微当下载、th-sjy 汉化、异次元软件、老殁殁漂遥、异星软件空间、动漫狂、漫画DB、HiComic(嗨漫画)、古风漫画网、砂之船动漫家、PubMed、wikiHow、GreasyFork、CS.RIN.RU、FitGirl... |
| 5 | +// @description 无缝拼接下一页内容,目前支持:[所有使用「Discuz!、Flarum、DUX(WordPress)」的网站]、百度、谷歌、必应、贴吧、豆瓣、微博、NGA(玩家社区)、V2EX、看雪论坛、煎蛋网、超能网、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、小霸王其乐无穷、茶杯狐、NO视频、低端影视、奈菲影视、91美剧网、真不卡影院、片库、音范丝、BT之家、爱恋动漫、Nyaa、SrkBT、RARBG、423Down、不死鸟、小众软件、极简插件、果核剥壳、六音软件、微当下载、th-sjy 汉化、异次元软件、老殁殁漂遥、异星软件空间、动漫狂、漫画DB、HiComic(嗨漫画)、动漫之家、古风漫画网、砂之船动漫家、PubMed、wikiHow、GreasyFork、CS.RIN.RU、FitGirl... |
6 | 6 | // @match *://*/* |
7 | 7 | // @connect www.gamersky.com |
8 | 8 | // @icon https://i.loli.net/2021/03/07/rdijeYm83pznxWq.png |
|
1449 | 1449 | scrollDelta: 3000 |
1450 | 1450 | } |
1451 | 1451 | }, // 嗨漫画 |
| 1452 | + dmzj: { |
| 1453 | + SiteTypeID: 0, |
| 1454 | + host: 'www.dmzj.com', |
| 1455 | + functionStart: function() {if (location.pathname.indexOf('/view/') > -1) { |
| 1456 | + if (getCookie('display_mode') != '1') { // 强制开启 [上下滚动阅读] 模式 |
| 1457 | + document.cookie='display_mode=1; expires=Thu, 18 Dec 2031 12:00:00 GMT; path=/'; // 写入 Cookie 开启 [上下滚动阅读] 模式 |
| 1458 | + location.reload(); // 刷新网页 |
| 1459 | + } |
| 1460 | + setTimeout(dmzj_init, 100); |
| 1461 | + curSite = DBSite.dmzj; document.lastElementChild.appendChild(document.createElement('style')).textContent = 'p.mh_curr_page, .btmBtnBox, .float_code, #floatCode {display: none !important;} .comic_wraCon > img {display: block !important;margin: 0 auto !important; border: none !important; padding: 0 !important; max-width: 99% !important; height: auto !important;}'; // 隐藏中间的页数信息 |
| 1462 | + }}, |
| 1463 | + pager: { |
| 1464 | + type: 4, |
| 1465 | + nextLink: dmzj_functionNext, |
| 1466 | + insertPosition: ['css;.comic_wraCon', 3], |
| 1467 | + insertElement: dmzj_insertElement, |
| 1468 | + replaceE: 'css;.wrap_last_mid, .wrap_last_head, title', |
| 1469 | + intervals: 5000, |
| 1470 | + scrollDelta: 3000 |
| 1471 | + } |
| 1472 | + }, // 漫画之家 - 原创 |
| 1473 | + dmzj_manhua: { |
| 1474 | + SiteTypeID: 0, |
| 1475 | + host: 'manhua.dmzj.com', |
| 1476 | + functionStart: function() {if (location.pathname.indexOf('.shtml') > -1) { |
| 1477 | + let chapterScroll = document.getElementById('qiehuan_txt') // 强制为 [上下滚动阅读] 模式 |
| 1478 | + if (chapterScroll && chapterScroll.textContent === '切换到上下滚动阅读') {chapterScroll.click();} |
| 1479 | + setTimeout(dmzj_manhua_init, 100); |
| 1480 | + curSite = DBSite.dmzj_manhua; document.lastElementChild.appendChild(document.createElement('style')).textContent = 'p.curr_page, .btmBtnBox, .float_code, #floatCode {display: none !important;} #center_box > img {display: block !important;margin: 0 auto !important; border: none !important; padding: 0 !important; max-width: 99% !important; height: auto !important;}'; // 隐藏中间的页数信息 |
| 1481 | + }}, |
| 1482 | + pager: { |
| 1483 | + type: 4, |
| 1484 | + nextLink: dmzj_manhua_functionNext, |
| 1485 | + insertPosition: ['css;#center_box', 3], |
| 1486 | + insertElement: dmzj_manhua_insertElement, |
| 1487 | + replaceE: 'css;.display_graybg, title', |
| 1488 | + intervals: 5000, |
| 1489 | + scrollDelta: 3000 |
| 1490 | + } |
| 1491 | + }, // 漫画之家 - 日漫 |
1452 | 1492 | gufengmh8: { |
1453 | 1493 | SiteTypeID: 0, |
1454 | 1494 | host: 'www.gufengmh8.com', |
|
2096 | 2136 | } |
2097 | 2137 |
|
2098 | 2138 |
|
| 2139 | + // dmzj 初始化(调整本话其余图片) |
| 2140 | + function dmzj_init() { |
| 2141 | + let _img = ''; |
| 2142 | + document.querySelectorAll('.comic_wraCon > a > img').forEach(function (one) { |
| 2143 | + _img += `<img src="${one.dataset.original}">`; |
| 2144 | + one.parentElement.remove(); |
| 2145 | + }) |
| 2146 | + document.querySelector(curSite.pager.insertPosition[0].replace('css;', '')).insertAdjacentHTML(addTo(curSite.pager.insertPosition[1]), _img); // 将 img 标签插入到网页中 |
| 2147 | + |
| 2148 | + } |
| 2149 | + // dmzj 获取下一页地址 |
| 2150 | + function dmzj_functionNext() { |
| 2151 | + let next; |
| 2152 | + next = document.querySelector('span.next > a[href]') |
| 2153 | + if (next) { |
| 2154 | + curSite.pageUrl = next.href; |
| 2155 | + getPageElems(curSite.pageUrl); |
| 2156 | + } |
| 2157 | + } |
| 2158 | + // dmzj 插入数据 |
| 2159 | + function dmzj_insertElement(pageElems, type) { |
| 2160 | + if (!pageElems) return |
| 2161 | + // 插入并运行 <script> |
| 2162 | + let scriptElement = pageElems.querySelectorAll('head > script[type]:not([src])'), scriptText = ''; |
| 2163 | + scriptElement.forEach(function (one) {if (one.tagName === 'SCRIPT') {scriptText += ';' + one.textContent;}}); |
| 2164 | + if (scriptText) document.body.appendChild(document.createElement('script')).textContent = scriptText; |
| 2165 | + |
| 2166 | + // 插入图片 |
| 2167 | + let _img = '', _img_arr; |
| 2168 | + if (pages.indexOf('|') === -1) { |
| 2169 | + _img_arr = JSON.parse(pages.replace(/\r\n/g,'|')).page_url.split('|'); |
| 2170 | + } else { |
| 2171 | + _img_arr = JSON.parse(pages).page_url.split('|'); |
| 2172 | + } |
| 2173 | + for (let now of _img_arr) { |
| 2174 | + _img += `<img src="${img_prefix}${now}">`; |
| 2175 | + } |
| 2176 | + if (_img) { |
| 2177 | + document.querySelector(curSite.pager.insertPosition[0].replace('css;', '')).insertAdjacentHTML(addTo(curSite.pager.insertPosition[1]), _img); // 将 img 标签插入到网页中 |
| 2178 | + |
| 2179 | + // 添加历史记录 |
| 2180 | + window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); |
| 2181 | + |
| 2182 | + // 替换元素 |
| 2183 | + let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), |
| 2184 | + repE = getAllElements(curSite.pager.replaceE, pageElems, pageElems); |
| 2185 | + if (oriE.length === repE.length) { |
| 2186 | + for (let i = 0; i < oriE.length; i++) { |
| 2187 | + oriE[i].outerHTML = repE[i].outerHTML; |
| 2188 | + } |
| 2189 | + // 当前页码 + 1 |
| 2190 | + pageNum.now = pageNum._now + 1 |
| 2191 | + } |
| 2192 | + } |
| 2193 | + } |
| 2194 | + |
| 2195 | + |
| 2196 | + // dmzj_manhua 初始化(调整本话其余图片) |
| 2197 | + function dmzj_manhua_init() { |
| 2198 | + let _img = ''; |
| 2199 | + document.querySelectorAll('#center_box > .inner_img img[src]').forEach(function (one) { |
| 2200 | + _img += `<img src="${one.dataset.original}">`; |
| 2201 | + one.parentElement.parentElement.remove(); |
| 2202 | + }) |
| 2203 | + document.querySelector(curSite.pager.insertPosition[0].replace('css;', '')).insertAdjacentHTML(addTo(curSite.pager.insertPosition[1]), _img); // 将 img 标签插入到网页中 |
| 2204 | + |
| 2205 | + } |
| 2206 | + // dmzj_manhua 获取下一页地址 |
| 2207 | + function dmzj_manhua_functionNext() { |
| 2208 | + let next; |
| 2209 | + next = document.getElementById('next_chapter') |
| 2210 | + if (next) { |
| 2211 | + curSite.pageUrl = next.href; |
| 2212 | + getPageElems(curSite.pageUrl); |
| 2213 | + } |
| 2214 | + } |
| 2215 | + // dmzj_manhua 插入数据 |
| 2216 | + function dmzj_manhua_insertElement(pageElems, type) { |
| 2217 | + if (!pageElems) return |
| 2218 | + // 插入并运行 <script> |
| 2219 | + let scriptElement = pageElems.querySelectorAll('head > script[type]:not([src])'), scriptText = ''; |
| 2220 | + scriptElement.forEach(function (one) {if (one.tagName === 'SCRIPT') {scriptText += ';' + one.textContent;}}); |
| 2221 | + if (scriptText) document.body.appendChild(document.createElement('script')).textContent = scriptText; |
| 2222 | + |
| 2223 | + // 插入图片 |
| 2224 | + let _img = ''; |
| 2225 | + for (let now of arr_pages) { |
| 2226 | + _img += `<img src="${img_prefix}${now}">`; |
| 2227 | + } |
| 2228 | + if (_img) { |
| 2229 | + document.querySelector(curSite.pager.insertPosition[0].replace('css;', '')).insertAdjacentHTML(addTo(curSite.pager.insertPosition[1]), _img); // 将 img 标签插入到网页中 |
| 2230 | + |
| 2231 | + // 添加历史记录 |
| 2232 | + window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); |
| 2233 | + |
| 2234 | + // 替换元素 |
| 2235 | + let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), |
| 2236 | + repE = getAllElements(curSite.pager.replaceE, pageElems, pageElems); |
| 2237 | + if (oriE.length === repE.length) { |
| 2238 | + for (let i = 0; i < oriE.length; i++) { |
| 2239 | + oriE[i].outerHTML = repE[i].outerHTML; |
| 2240 | + } |
| 2241 | + // 当前页码 + 1 |
| 2242 | + pageNum.now = pageNum._now + 1 |
| 2243 | + } |
| 2244 | + } |
| 2245 | + } |
| 2246 | + |
| 2247 | + |
2099 | 2248 | // gufengmh8 获取下一页地址 |
2100 | 2249 | function gufengmh8_functionNext() { |
2101 | 2250 | let pageElems = document.querySelector(curSite.pager.pageElement.replace('css;', '')); // 寻找数据所在元素 |
|
2397 | 2546 | } |
2398 | 2547 |
|
2399 | 2548 |
|
| 2549 | + // 获取 Cookie |
| 2550 | + function getCookie(name) { |
| 2551 | + if (!name) return '' |
| 2552 | + let arr = document.cookie.split(';'); |
| 2553 | + name += '=' |
| 2554 | + for (let i=0; i<arr.length; i++) { |
| 2555 | + let now = arr[i].trim(); |
| 2556 | + if (now.indexOf(name) == 0) return now.substring(name.length, now.length); |
| 2557 | + } |
| 2558 | + return ''; |
| 2559 | + } |
| 2560 | + |
| 2561 | + |
2400 | 2562 | // 类型 4 专用 |
2401 | 2563 | function getPageElems(url, type = 'text', method = 'GET', data = '', type2) { |
2402 | 2564 | //console.log(url, data) |
|
0 commit comments