From e1cadebdd4ca1d9484bbdce4344758f530021c10 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Tue, 22 Feb 2022 17:12:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20[=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=BF=BB=E9=A1=B5=E8=A7=84=E5=88=99]=20=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20(=E6=94=AF=E6=8C=81=E5=9F=9F=E5=90=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=AD=A3=E5=88=99)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index ba5d708..ce4927e 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -3,7 +3,7 @@ // @name:zh-CN 自动无缝翻页 // @name:zh-TW 自動無縫翻頁 // @name:en AutoPager -// @version 4.8.8 +// @version 4.9.0 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流,追求小而美),目前支持:【所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、NexusPHP」论坛】【百度、谷歌、必应、搜狗、微信、360、Yahoo、Yandex 等搜索引擎】、贴吧、豆瓣、知乎、微博、NGA、V2EX、B 站(Bilibili)、煎蛋网、糗事百科、龙的天空、起点中文、IT之家、千图网、Pixabay、Pixiv、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、小众软件、【动漫狂、漫画猫、漫画屋、漫画 DB、动漫之家、拷贝漫画、包子漫画、Mangabz、Xmanhua 等漫画网站】、PubMed、Z-Library、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @description:zh-TW 無縫拼接下一頁內容(瀑布流,追求小而美),支持各種論壇、搜索引擎、漫畫網站~ @@ -1181,6 +1181,8 @@ if (Array.isArray(DBSite[now].host)) { for (let i of DBSite[now].host) { // 遍历 数组 + // 针对自定义翻页规则中的正则 + if (typeof i === 'string' && i.slice(0,1) === '/') i = new RegExp(i.slice(1,i.length-1)) if ((i instanceof RegExp && i.test(location.hostname)) || (typeof i === 'string' && i === location.hostname)) { if (self != top) {if (!DBSite[now].iframe) break end;} // 如果当前位于 iframe 框架下,就需要判断是否需要继续执行 @@ -1197,22 +1199,25 @@ } } - // 如果是 正则/字符串 - } else if ((DBSite[now].host instanceof RegExp && DBSite[now].host.test(location.hostname)) || (typeof DBSite[now].host === 'string' && DBSite[now].host === location.hostname)) { + // 如果是 正则/字符串 + } else { + // 针对自定义翻页规则中的正则 + if (typeof DBSite[now].host === 'string' && DBSite[now].host.slice(0,1) === '/') DBSite[now].host = new RegExp(DBSite[now].host.slice(1,DBSite[now].host.length-1)) + if ((DBSite[now].host instanceof RegExp && DBSite[now].host.test(location.hostname)) || (typeof DBSite[now].host === 'string' && DBSite[now].host === location.hostname)) { - if (self != top) {if (!DBSite[now].iframe) break;} // 如果当前位于 iframe 框架下,就需要判断是否需要继续执行 - if (DBSite[now].functionS) { - if (typeof DBSite[now].functionS == 'function') { - DBSite[now].functionS(); - } else { // 自定义翻页规则时 - if (new Function (DBSite[now].functionS)() === true) curSite = DBSite[now]; + if (self != top) {if (!DBSite[now].iframe) break;} // 如果当前位于 iframe 框架下,就需要判断是否需要继续执行 + if (DBSite[now].functionS) { + if (typeof DBSite[now].functionS == 'function') { + DBSite[now].functionS(); + } else { // 自定义翻页规则时 + if (new Function (DBSite[now].functionS)() === true) curSite = DBSite[now]; + } + } else { + curSite = DBSite[now]; } - } else { - curSite = DBSite[now]; + support = true; break; // 如果找到了就退出循环 } - support = true; break; // 如果找到了就退出循环 } - } if (support) { @@ -1298,7 +1303,7 @@ pager: { type: 翻页模式 - 1 = 由脚本实现自动无缝翻页(适用于:静态加载内容网站,常规模式) + 1 = 由脚本实现自动无缝翻页,可省略(适用于:静态加载内容网站,常规模式) 2 = 只需要点击下一页按钮(适用于:网站自带了 自动无缝翻页 功能) nextText: 按钮文本,当按钮文本 = 该文本时,才会点击按钮加载下一页(避免一瞬间加载太多次下一页,下同) @@ -7714,17 +7719,16 @@ function: {
注意:不要完全照搬脚本内置规则,因为和标准 JSON 格式有所差别,如:必须两边内容都加双引号(不能用单引号)。
- + ` document.documentElement.insertAdjacentHTML('beforeend', _html); - if (curSite.pager && curSite.pager.type == 5) window.top.document.xiu_pausePage = pausePage // 点击事件 getCSS('#Autopage_customRules_save').onclick = function () { let rules = getCSS('#Autopage_customRules_textarea').value; @@ -7741,7 +7745,6 @@ function: { } } getCSS('#Autopage_customRules_cancel').onclick = function () {getCSS('#Autopage_customRules').remove();} - //status = getCSS('#Autopage_customRules'); } // 显示页码 function pageNumber(type) {