Skip to content

Commit fed73ae

Browse files
committed
新增 自定义规则内置函数 fun.isPager、fun.isTitle
1 parent 6a6635e commit fed73ae

1 file changed

Lines changed: 41 additions & 15 deletions

File tree

Autopage.user.js

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// @name:zh-CN 自动无缝翻页
44
// @name:zh-TW 自動無縫翻頁
55
// @name:en AutoPager
6-
// @version 6.6.5
6+
// @version 6.6.6
77
// @author X.I.U
88
// @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(以上仅一小部分,更多的写不下了...
99
// @description:zh-TW ⭐無縫加載 下一頁內容 至網頁底部(類似瀑布流)⭐,支持各論壇、社交、遊戲、漫畫、小說、學術、搜索引擎(Google、Bing、Yahoo...) 等網站~
@@ -88,15 +88,7 @@
8888

8989
(function() {
9090
'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)
10092
'https://userscript.h233.eu.org/other/Autopage/rules.json',
10193
'https://bitbucket.org/xiu2/userscript/raw/master/other/Autopage/rules.json',
10294
'https://raw.kkgithub.com/XIU2/UserScript/master/other/Autopage/rules.json',
@@ -129,10 +121,19 @@
129121
//'https://gh-proxy.com/https://raw.githubusercontent.com/XIU2/UserScript/master/other/Autopage/rules.json',
130122
'https://github.moeyy.xyz/https://raw.githubusercontent.com/XIU2/UserScript/master/other/Autopage/rules.json'
131123
],
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}
136137
if (typeof GM_info != 'undefined') {scriptHandler = GM_info.scriptHandler;} else if (typeof GM != 'undefined' && typeof GM.info != 'undefined') {scriptHandler = GM.info.scriptHandler;} else {scriptHandler = '';}
137138
for (let i=0;i<menuAll.length;i++){ // 如果读取到的值为 null 就写入默认值
138139
if (GM_getValue(menuAll[i][0]) == null){GM_setValue(menuAll[i][0], menuAll[i][3])};
@@ -198,8 +199,10 @@
198199
end:
199200
for (let now in DBSite) { // 遍历 对象
200201
if (!DBSite[now].host) continue; // 如果不存在则继续下一个循环
201-
// 如果是 数组
202202

203+
DBSiteNow = DBSite[now] // 供其他函数在 域名/URL 判断阶段使用
204+
205+
// 如果是 数组
203206
if (Array.isArray(DBSite[now].host)) {
204207

205208
for (let i of DBSite[now].host) { // 遍历 数组
@@ -261,6 +264,8 @@
261264
}
262265
}
263266

267+
DBSiteNow = undefined // 仅限判断阶段使用,判断完成就需要置空
268+
264269
if (support) {
265270
console.info('[自动无缝翻页] - 独立规则 网站'); return 1;
266271
} else if (self != top) {
@@ -2594,6 +2599,27 @@ function: {
25942599
}
25952600
return false
25962601
}
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+
}
25972623
// 获取 Search 指定参数
25982624
function getSearch(variable) {
25992625
let query = window.location.search.substring(1),

0 commit comments

Comments
 (0)