From 6de8efe18fe7d1209fb88509f14bd25709d7f29d Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Sun, 7 Jul 2024 23:38:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[MyBB]=20=E8=AE=BA?= =?UTF-8?q?=E5=9D=9B=E7=B3=BB=E7=BB=9F=E6=94=AF=E6=8C=81(=E9=80=9A?= =?UTF-8?q?=E7=94=A8=E8=A7=84=E5=88=99);=20=E4=BC=98=E5=8C=96=20=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=BF=BB=E9=A1=B5=E8=A7=84=E5=88=99=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E9=81=BF=E5=85=8D=E8=A7=84=E5=88=99=E8=A2=AB=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index a2a61fd..5988f19 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -3,10 +3,10 @@ // @name:zh-CN 自动无缝翻页 // @name:zh-TW 自動無縫翻頁 // @name:en AutoPager -// @version 6.6.9 +// @version 6.6.10 // @author X.I.U -// @description ⭐无缝加载 下一页内容 至当前网页底部(类似瀑布流,无限滚动~)⭐,目前支持:【所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、NexusPHP...」论坛】【百度、谷歌(Google)、必应(Bing)、搜狗、微信、360、Yahoo、Yandex 等搜索引擎...】、贴吧、豆瓣、知乎、NGA、V2EX、煎蛋网、起点中文、千图网、千库网、Pixabay、Pixiv、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、RuTracker、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、小众软件、【动漫狂、动漫屋、漫画猫、漫画屋、漫画 DB、HiComic、Mangabz、Xmanhua 等漫画网站...】、PubMed、Z-Library、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... -// @description:zh-TW ⭐無縫加載 下一頁內容 至當前網頁底部(類似瀑布流,無限滾動~)⭐,支持各論壇、社交、遊戲、漫畫、小說、學術、搜索引擎(Google、Bing、Yahoo...) 等網站~ +// @description ⭐无缝加载 下一页内容 至网页底部(类似瀑布流,无限滚动)⭐,目前支持:【所有「Discuz!、Flarum、phpBB、MyBB、Xiuno、XenForo、NexusPHP...」论坛】【百度、谷歌(Google)、必应(Bing)、搜狗、微信、360、Yahoo、Yandex 等搜索引擎...】、贴吧、豆瓣、知乎、NGA、V2EX、起点中文、千图网、千库网、Pixabay、Pixiv、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、RuTracker、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、小众软件、【动漫狂、动漫屋、漫画猫、漫画屋、漫画 DB、HiComic、Mangabz、Xmanhua 等漫画网站...】、PubMed、Z-Library、GreasyFork、Github、StackOverflow(以上仅一小部分常见网站,更多的写不下了... +// @description:zh-TW ⭐無縫加載 下一頁內容 至網頁底部(類似瀑布流,无限滚动)⭐,支持各論壇、社交、遊戲、漫畫、小說、學術、搜索引擎(Google、Bing、Yahoo...) 等網站~ // @description:en Append the next page content to the bottom seamlessly (like a waterfall)~ // @match *://*/* // @connect userscript.xiu2.xyz @@ -285,6 +285,9 @@ } else if (typeof XF != 'undefined') { console.info(`[自动无缝翻页] - 论坛`); return 6; + } else if (typeof MyBB != 'undefined') { + console.info(`[自动无缝翻页] - 论坛`); return 14; + } else if (getCSS('head meta[name="generator" i][content="nexusphp" i]') || getXpath('id("footer")[contains(string(), "NexusPHP")]')) { console.info(`[自动无缝翻页] - 论坛`); return 7; @@ -422,6 +425,8 @@ DBSite.xiuno.url(); break; case 6: // < 所有 XenForo 论坛 > DBSite.xenforo.url(); break; + case 14: // < 所有 MyBB 论坛 > + DBSite.mybb.url(); break; case 7: // < 所有 NexusPHP 论坛 > DBSite.nexusphp.url(); break; case 8: // < 部分自带 自动无缝翻页 的网站 1 > @@ -813,11 +818,11 @@ function: { } }, // phpBB 论坛 - 搜索页 xenforo: { - url: ()=> {if (indexOF(/\/(forums|f)\//) || (getCSS('a.pageNav-jump--next') && getCSS('.structItemContainer-group.js-threadList > div'))) { + url: ()=> {if (indexOF(/\/(forums|f)\//) || (getCSS(DBSite.xenforo.pager.nextL) && getCSS(DBSite.xenforo.pager.pageE))) { curSite = DBSite.xenforo; - } else if (indexOF(/\/(threads|t)\//) || (getCSS('a.pageNav-jump--next') && getCSS('.block-body.js-replyNewMessageContainer > article'))) { + } else if (indexOF(/\/(threads|t)\//) || (getCSS(DBSite.xenforo.pager.nextL) && getCSS(DBSite.xenforo_post.pager.pageE))) { curSite = DBSite.xenforo_post; - } else if (indexOF('/search/') || (getCSS('a.pageNav-jump--next') && getCSS('ol.block-body > li'))) { + } else if (indexOF('/search/') || (getCSS(DBSite.xenforo.pager.nextL) && getCSS(DBSite.xenforo_search.pager.pageE))) { curSite = DBSite.xenforo_search; }}, pager: { @@ -844,6 +849,27 @@ function: { scrollD: 2500 } }, // XenForo 论坛 - 搜索页 + mybb: { + url: ()=> {if (location.pathname.toLowerCase().indexOf('/forum') == 0 || location.pathname.toLowerCase().indexOf('/search') == 0 || (getCSS(DBSite.mybb.pager.nextL)&&getCSS(DBSite.mybb.pager.pageE))) { + curSite = DBSite.mybb; + } else if (location.pathname.toLowerCase().indexOf('thread') !== -1 || (getCSS(DBSite.mybb.pager.nextL)&&getCSS(DBSite.mybb_post.pager.pageE))) { + curSite = DBSite.mybb_post; curSite.pager = Object.assign({}, DBSite.mybb.pager,DBSite.mybb_post.pager); + }}, + blank: 3, + pager: { + nextL: 'div:not([id=breadcrumb_multipage_popup])>a.pagination_next, div:not([id=breadcrumb_multipage_popup])>.pagination_current+a.pagination_page', + pageE: 'tr.inline_row', + replaceE: '.pagination', + scrollD: 2500 + } + }, // MyBB 论坛 - 帖子列表 + mybb_post: { + thread: true, + pager: { + pageE: '#posts>*', + scrollD: 2500 + } + }, // MyBB 论坛 - 帖子内 xiuno: { url: ()=> {if (lp == '/' || indexOF(/\/(index|forum)/)) {curSite = DBSite.xiuno;} else if (indexOF('/thread')) {curSite = DBSite.xiuno_post;}}, pager: { @@ -2696,7 +2722,7 @@ function: {
  • 具体的翻页规则说明、示例,为了方便更新及补充,我都写到 Github 里面了。
  • 脚本会自动格式化规则,因此无需手动缩进、换行,只需把规则插入默认的 { } 中间即可。
  • -
    +
     // 下面示例是把所有规则都塞进去了,但实际上大部分都用不上,大多数网站只需要像第一个 "aaa" 这样的规则(replaceE 规则可以省略,脚本会自动判断)
     // "aaa" 是规则名,唯一!如果和 外置规则名 重复,则会将完全覆盖同名的外置规则,支持中文等各种字符
     // "url" 是用来控制哪些网站中页面适用该规则,省略后代表该规则应用于全站(如果不知道写什么,那么就写 fun.isPager() 这样脚本会自动匹配当前网站下存在 nextL 及 pageE 元素的网页,大部分网站是没问题的)
    @@ -2771,7 +2797,7 @@ function: {
     }
     
    「 点击展开 查看所有规则 」(可按 Ctrl+F 搜索规则,脚本内置的通用规则因格式限制无法列出) -
     
    +