|
3 | 3 | // @name:zh-CN 自动无缝翻页 |
4 | 4 | // @name:zh-TW 自動無縫翻頁 |
5 | 5 | // @name:en AutoPager |
6 | | -// @version 6.6.5 |
| 6 | +// @version 6.6.6 |
7 | 7 | // @author X.I.U |
8 | 8 | // @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(以上仅一小部分,更多的写不下了... |
9 | 9 | // @description:zh-TW ⭐無縫加載 下一頁內容 至網頁底部(類似瀑布流)⭐,支持各論壇、社交、遊戲、漫畫、小說、學術、搜索引擎(Google、Bing、Yahoo...) 等網站~ |
|
88 | 88 |
|
89 | 89 | (function() { |
90 | 90 | 'use strict'; |
91 | | - var menuAll = [ |
92 | | - ['menu_disable', '✅ 已启用 (点击对当前网站禁用)', '❌ 已禁用 (点击对当前网站启用)', []], |
93 | | - ['menu_thread', '帖子内自动翻页 (社区类网站)', '帖子内自动翻页 (社区类网站)', true], |
94 | | - ['menu_page_number', '显示当前页码及点击暂停翻页', '显示当前页码及点击暂停翻页', true], |
95 | | - ['menu_pause_page', '左键双击网页空白处暂停翻页', '左键双击网页空白处暂停翻页', false], |
96 | | - ['menu_history', '添加历史记录+修改地址/标题', '添加历史记录+修改地址/标题', true], |
97 | | - ['menu_rules', '更新外置翻页规则 (每天自动)', '更新外置翻页规则 (每天自动)', {}], |
98 | | - ['menu_customRules', '自定义翻页规则', '自定义翻页规则', {}] |
99 | | - ], urlArr = [ // 外置翻页规则更新地址分流,以确保更新成功率(记得 connect) |
| 91 | + const urlArr = [ // 外置翻页规则更新地址分流,以确保更新成功率(记得 connect) |
100 | 92 | 'https://userscript.h233.eu.org/other/Autopage/rules.json', |
101 | 93 | 'https://bitbucket.org/xiu2/userscript/raw/master/other/Autopage/rules.json', |
102 | 94 | 'https://raw.kkgithub.com/XIU2/UserScript/master/other/Autopage/rules.json', |
|
129 | 121 | //'https://gh-proxy.com/https://raw.githubusercontent.com/XIU2/UserScript/master/other/Autopage/rules.json', |
130 | 122 | 'https://github.moeyy.xyz/https://raw.githubusercontent.com/XIU2/UserScript/master/other/Autopage/rules.json' |
131 | 123 | ], |
132 | | - loadMoreExclude1 = ['.smzdm.com','stackoverflow.com'], |
133 | | - loadMoreExclude2 = ['.steampowered.com','.zcool.com.cn'], |
134 | | - menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, DBSite2, pausePage = true, pageNum = {now: 1, _now: 1}, urlC = false, nowLocation = '', lp = location.pathname, scriptHandler; |
135 | | - window.autoPage = {lp: ()=>location.pathname, indexOF: indexOF, isMobile: isMobile, isUrlC: isUrlC, blank: forceTarget, getAll: getAll, getOne: getOne, getAllXpath: getAllXpath, getXpath: getXpath, getAllCSS: getAllCSS, getCSS: getCSS, getNextE: getNextE, getNextEP: getNextEP, getNextSP: getNextSP, getNextEPN: getNextEPN, getNextUPN: getNextUPN, getNextUP: getNextUP, getNextF: getNextF, getSearch: getSearch, getCookie: getCookie, insStyle: insStyle, insScript: insScript, cleanuEvent: cleanuEvent, src_bF: src_bF, xs_bF: xs_bF, pageNumIncrement: pageNumIncrement} |
| 124 | + loadMoreExclude1 = ['.smzdm.com','stackoverflow.com'], |
| 125 | + loadMoreExclude2 = ['.steampowered.com','.zcool.com.cn']; |
| 126 | + |
| 127 | + var menuAll = [ |
| 128 | + ['menu_disable', '✅ 已启用 (点击对当前网站禁用)', '❌ 已禁用 (点击对当前网站启用)', []], |
| 129 | + ['menu_thread', '帖子内自动翻页 (社区类网站)', '帖子内自动翻页 (社区类网站)', true], |
| 130 | + ['menu_page_number', '显示当前页码及点击暂停翻页', '显示当前页码及点击暂停翻页', true], |
| 131 | + ['menu_pause_page', '左键双击网页空白处暂停翻页', '左键双击网页空白处暂停翻页', false], |
| 132 | + ['menu_history', '添加历史记录+修改地址/标题', '添加历史记录+修改地址/标题', true], |
| 133 | + ['menu_rules', '更新外置翻页规则 (每天自动)', '更新外置翻页规则 (每天自动)', {}], |
| 134 | + ['menu_customRules', '自定义翻页规则', '自定义翻页规则', {}] |
| 135 | + ], menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, DBSite2, DBSiteNow, pausePage = true, pageNum = {now: 1, _now: 1}, urlC = false, nowLocation = '', lp = location.pathname, scriptHandler; |
| 136 | + window.autoPage = {lp: ()=>location.pathname, indexOF: indexOF, isMobile: isMobile, isUrlC: isUrlC, isPager: isPager, isTitle: isTitle, blank: forceTarget, getAll: getAll, getOne: getOne, getAllXpath: getAllXpath, getXpath: getXpath, getAllCSS: getAllCSS, getCSS: getCSS, getNextE: getNextE, getNextEP: getNextEP, getNextSP: getNextSP, getNextEPN: getNextEPN, getNextUPN: getNextUPN, getNextUP: getNextUP, getNextF: getNextF, getSearch: getSearch, getCookie: getCookie, insStyle: insStyle, insScript: insScript, cleanuEvent: cleanuEvent, src_bF: src_bF, xs_bF: xs_bF, pageNumIncrement: pageNumIncrement} |
136 | 137 | if (typeof GM_info != 'undefined') {scriptHandler = GM_info.scriptHandler;} else if (typeof GM != 'undefined' && typeof GM.info != 'undefined') {scriptHandler = GM.info.scriptHandler;} else {scriptHandler = '';} |
137 | 138 | for (let i=0;i<menuAll.length;i++){ // 如果读取到的值为 null 就写入默认值 |
138 | 139 | if (GM_getValue(menuAll[i][0]) == null){GM_setValue(menuAll[i][0], menuAll[i][3])}; |
|
198 | 199 | end: |
199 | 200 | for (let now in DBSite) { // 遍历 对象 |
200 | 201 | if (!DBSite[now].host) continue; // 如果不存在则继续下一个循环 |
201 | | - // 如果是 数组 |
202 | 202 |
|
| 203 | + DBSiteNow = DBSite[now] // 供其他函数在 域名/URL 判断阶段使用 |
| 204 | + |
| 205 | + // 如果是 数组 |
203 | 206 | if (Array.isArray(DBSite[now].host)) { |
204 | 207 |
|
205 | 208 | for (let i of DBSite[now].host) { // 遍历 数组 |
|
261 | 264 | } |
262 | 265 | } |
263 | 266 |
|
| 267 | + DBSiteNow = undefined // 仅限判断阶段使用,判断完成就需要置空 |
| 268 | + |
264 | 269 | if (support) { |
265 | 270 | console.info('[自动无缝翻页] - 独立规则 网站'); return 1; |
266 | 271 | } else if (self != top) { |
@@ -2594,6 +2599,27 @@ function: { |
2594 | 2599 | } |
2595 | 2600 | return false |
2596 | 2601 | } |
| 2602 | + // 判断网站标题是否包含指定文字 |
| 2603 | + function isTitle(title) { |
| 2604 | + return document.title.indexOf(title) > -1; |
| 2605 | + } |
| 2606 | + // 判断规则中的 nextL、pageE、insertP、replaceE 元素是否存在于当前网页 |
| 2607 | + function isPager(type = 'n,p') { |
| 2608 | + const typeArr = 'n,p'.split(','); |
| 2609 | + for (let i = 0; i < typeArr.length; i++) { |
| 2610 | + switch (typeArr[i]) { |
| 2611 | + case 'n': // nextL |
| 2612 | + if (!getOne(DBSiteNow.pager.nextL)){return false;}; break; |
| 2613 | + case 'p': // pageE |
| 2614 | + if (!getOne(DBSiteNow.pager.pageE)){return false;}; break; |
| 2615 | + case 'i': // insertP |
| 2616 | + if (!getOne(DBSiteNow.pager.insertP[0])){return false;}; break; |
| 2617 | + case 'r': // replaceE |
| 2618 | + if (!getOne(DBSiteNow.pager.replaceE)){return false;}; break; |
| 2619 | + } |
| 2620 | + } |
| 2621 | + return true; |
| 2622 | + } |
2597 | 2623 | // 获取 Search 指定参数 |
2598 | 2624 | function getSearch(variable) { |
2599 | 2625 | let query = window.location.search.substring(1), |
|
0 commit comments