diff --git a/Autopage.user.js b/Autopage.user.js
index 77e2c963a..16fab00d1 100644
--- a/Autopage.user.js
+++ b/Autopage.user.js
@@ -3,7 +3,7 @@
// @name:zh-CN 自动无缝翻页
// @name:zh-TW 自動無縫翻頁
// @name:en AutoPager
-// @version 6.6.16
+// @version 6.6.17
// @author X.I.U
// @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...) 等網站~
@@ -1836,65 +1836,66 @@ function: {
// 翻页类型 1/3
function getPageE(url) {
- // 依靠原生 XMLHttpRequest 尝试解决因缺失跨域 cookie 导致的问题(比如一些使用 Cloudflare CDN 人机验证的网站,会出现脚本后台获取到人机验证页面)
- const xhr = new XMLHttpRequest();
- xhr.open('GET', url, true);
- xhr.overrideMimeType('text/html; charset=' + (document.characterSet||document.charset||document.inputEncoding));
-
- if (curSite.xRequestedWith === true) {xhr.setRequestHeader('x-requested-with', 'XMLHttpRequest')}
- //(curSite.noReferer === true) ? xhr.setRequestHeader('Referer', ''):xhr.setRequestHeader('Referer', location.href)
- //xhr.setRequestHeader('User-Agent', navigator.userAgent)
- xhr.setRequestHeader('Accept', 'text/html,application/xhtml+xml,application/xml')
-
- xhr.timeout = 10000;
- xhr.onload = function() {
- if (xhr.status >= 200 && xhr.status < 300) {
- //console.log('URL:' + url, '最终 URL:' + xhr.responseURL, '返回内容:' + xhr.responseText)
- processElems(createDocumentByString(xhr.responseText));
- } else {
- console.error('[自动无缝翻页] - 处理获取到的下一页内容时出现问题,请检查!', xhr.statusText);
- }
- };
- xhr.onerror = function() {
- console.log('URL:' + url, xhr.statusText)
- GM_notification({text: '❌ 获取下一页失败...', timeout: 5000});
- };
- xhr.ontimeout = function() {
- setTimeout(function(){curSite.pageUrl = '';}, 3000)
- console.log('URL:' + url, xhr.statusText)
- GM_notification({text: '❌ 获取下一页超时,可 3 秒后再次滚动网页重试(或尝试刷新网页)...', timeout: 5000});
- };
- xhr.send();
-
- /*GM_xmlhttpRequest({
- url: url,
- method: 'GET',
- overrideMimeType: 'text/html; charset=' + (document.characterSet||document.charset||document.inputEncoding),
- headers: {
- 'x-requested-with': (curSite.xRequestedWith === true) ? 'XMLHttpRequest':null,
- 'Referer': (curSite.noReferer === true) ? null:location.href,
- 'User-Agent': navigator.userAgent,
- 'Accept': 'text/html,application/xhtml+xml,application/xml'
- },
- timeout: 10000,
- onload: function (response) {
- try {
- //console.log('URL:' + url, '最终 URL:' + response.finalUrl, '返回内容:' + response.responseText)
- processElems(createDocumentByString(response.responseText));
- } catch (e) {
- console.error('[自动无缝翻页] - 处理获取到的下一页内容时出现问题,请检查!', e, response.responseText);
+ if (!curSite.gmxhr) {
+ // 依靠原生 XMLHttpRequest 尝试解决因缺失跨域 cookie 导致的问题(比如一些使用 Cloudflare CDN 人机验证的网站,会出现脚本后台获取到人机验证页面)
+ const xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.overrideMimeType('text/html; charset=' + (document.characterSet||document.charset||document.inputEncoding));
+
+ if (curSite.xRequestedWith === true) {xhr.setRequestHeader('x-requested-with', 'XMLHttpRequest')}
+ //(curSite.noReferer === true) ? xhr.setRequestHeader('Referer', ''):xhr.setRequestHeader('Referer', location.href)
+ xhr.setRequestHeader('Accept', 'text/html,application/xhtml+xml,application/xml')
+
+ xhr.timeout = 5000;
+ xhr.onload = function() {
+ if (xhr.status >= 200 && xhr.status < 300) {
+ //console.log('URL:' + url, '最终 URL:' + xhr.responseURL, '返回内容:' + xhr.responseText)
+ processElems(createDocumentByString(xhr.responseText));
+ } else {
+ console.error('[自动无缝翻页] - 处理获取到的下一页内容时出现问题,请检查!', 'URL:' + url, '最终 URL:' + xhr.responseURL, '返回状态:' + xhr.statusText, '返回内容:' + xhr.responseText);
}
- },
- onerror: function (response) {
- console.log('URL:' + url, response)
+ };
+ xhr.onerror = function() {
+ console.log('URL:' + url, xhr.statusText)
GM_notification({text: '❌ 获取下一页失败...', timeout: 5000});
- },
- ontimeout: function (response) {
+ };
+ xhr.ontimeout = function() {
setTimeout(function(){curSite.pageUrl = '';}, 3000)
- console.log('URL:' + url, response)
+ console.log('URL:' + url, xhr.statusText)
GM_notification({text: '❌ 获取下一页超时,可 3 秒后再次滚动网页重试(或尝试刷新网页)...', timeout: 5000});
- }
- });*/
+ };
+ xhr.send();
+ } else {
+ GM_xmlhttpRequest({
+ url: url,
+ method: 'GET',
+ overrideMimeType: 'text/html; charset=' + (document.characterSet||document.charset||document.inputEncoding),
+ headers: {
+ 'x-requested-with': (curSite.xRequestedWith === true) ? 'XMLHttpRequest':null,
+ 'Referer': (curSite.noReferer === true) ? null:location.href,
+ 'User-Agent': navigator.userAgent,
+ 'Accept': 'text/html,application/xhtml+xml,application/xml'
+ },
+ timeout: 5000,
+ onload: function (response) {
+ try {
+ //console.log('URL:' + url, '最终 URL:' + response.finalUrl, '返回内容:' + response.responseText)
+ processElems(createDocumentByString(response.responseText));
+ } catch (e) {
+ console.error('[自动无缝翻页] - 处理获取到的下一页内容时出现问题,请检查!', e, 'URL:' + url, '最终 URL:' + response.finalUrl, '返回状态:' + response.statusText, '返回内容:' + response.responseText);
+ }
+ },
+ onerror: function (response) {
+ console.log('URL:' + url, response)
+ GM_notification({text: '❌ 获取下一页失败...', timeout: 5000});
+ },
+ ontimeout: function (response) {
+ setTimeout(function(){curSite.pageUrl = '';}, 3000)
+ console.log('URL:' + url, response)
+ GM_notification({text: '❌ 获取下一页超时,可 3 秒后再次滚动网页重试(或尝试刷新网页)...', timeout: 5000});
+ }
+ });
+ }
}
// 翻页类型 4
function getPageE_(url, type = '', method = 'GET', data = '', type2) {
@@ -2758,7 +2759,7 @@ function: {
},
"bbb": {
"host": ["bbb1.com", "bbb2.com"],
- "url": "/^\\/s$/",
+ "url": "/^\\\\/s$/",
"style": ".aaaa {xxx: xxx}(如果只是为了单纯屏蔽隐藏某些元素,那么这里只需要写 CSS 选择器即可,脚本会自动在末尾加上 {display: none !important;} 的)",
"blank": 3,
"hiddenPN": true,
@@ -2783,7 +2784,7 @@ function: {
}
},
"这里也可以用中文": {
- "host": "/\\.ccc\\.com/",
+ "host": "/\\\\.ccc\\\\.com/",
"url": "fun.isUrlC(); return (fun.lp() == '/' || fun.indexOF('/s') || fun.isMobile())",
"pager": {
"type": 2,
@@ -2800,7 +2801,7 @@ function: {