From bc91b3cbe071be6e402cec05b98aee92705ec6e9 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Sat, 13 Nov 2021 22:58:52 +0800 Subject: [PATCH 0001/1666] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20[=E7=85=8E?= =?UTF-8?q?=E8=9B=8B=E7=BD=91]=20=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index 7cd941955..7027202c5 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.4 +// @version 3.4.5 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -847,12 +847,13 @@ } else { curSite = DBSite.jandan_comment; }}, + insStyle: '#nav_prev, #nav_next, .post.f:not(.list-post) {display: none !important;}', pager: { type: 1, nextL: '//div[@class="wp-pagenavi"]/a[contains(text(), "下一页") or contains(text(), "更多文章")]', pageE: 'css;#content > .list-post', insertP: ['css;.wp-pagenavi', 1], - replaceE: 'css;.wp-pagenavi, #nav_prev', + replaceE: 'css;.wp-pagenavi', scrollD: 1500 }, function: { @@ -861,12 +862,13 @@ } }, // 煎蛋网 jandan_comment: { + insStyle: '#nav_prev, #nav_next {display: none !important;}', pager: { type: 1, nextL: 'css;a.previous-comment-page', pageE: 'css;ol.commentlist > li[id^="comment-"], script[src^="//cdn.jandan.net/static/min/"]', insertP: ['css;ol.commentlist', 3], - replaceE: 'css;.cp-pagenavi, #nav_prev', + replaceE: 'css;.cp-pagenavi', scriptT: 3, scrollD: 1500 } From c70f9e1e48d2a62a7e4c45abf36545b5a6f25700 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Tue, 16 Nov 2021 14:59:30 +0800 Subject: [PATCH 0002/1666] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[=E5=AD=A6?= =?UTF-8?q?=E7=8A=80=E7=89=9B]=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 302 ++++++++++++++++++++++++++++------------------- 1 file changed, 180 insertions(+), 122 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index 7027202c5..df09b9a67 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,9 +1,11 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.5 +// @version 3.4.6 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* +// @connect www.xuexiniu.com +// @connect bbs.xuexiniu.com // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAALfElEQVRYhX2Xe3Bd1XXGf3vvc859X+nq6nUlW5Yly7JlI2xsYzAwtnk4ATpAxkNTHm0mnaTT/gHTTvrIBDLTpp1JUoZppqHQls5AKTR2INOWJJQSXF4x2BhsJCRZ8kuWZckPSVf3/Trn7N3RVTFpQrNn1l97n7O/vda31reWMKMPcmUJA9U8vrwHGdqCHn4HPzePaIxhVSoYbYRXrn7BeMVbCUduF6kVUXHwvQP+6amDaqDnoIompmQytaBnTmB8H5lowrjgFss48SBeI/hUEEZeudLi1ywhJEIJdL6Q8rzal/1a5SGC4XZrYBvWwEZobMdLdH6RH+z/Io1taEeh52fe8tOZbysl/ouWFvANYP7fSz4DgAEBBIL4xiS8ubmnVcTZK68aRK29Dtm8dgnZJydRW+/E2nrnp19nz+7U77+60zt0qMz07J/KxuQTwrIw4rMBCDP6wC+FIIcO34eudDdXf/7jD52Opi772lugY3AZr++hp06gz48j+waRqTWYmVHcS+chEMFeuw1hBzBzY7g/fQE9fmqBYPzBQKrpVa/R4OkCAnXlSvXnX9sIllk220BE4Z8OdHoj54YCK6Od1i2/iUmuRyDRk6NUn3+M0pv/hnf0AE40jEjEqP3oe6Rf/CGOWUTNjFKby2MP7EBtugURFWFxfOhB4+o4yfhrGAdZsxHaqZt6dNce9KXYFSPfGWS68JFqTXSqO7+MCaTqETGTwxSeeoRCOoPT2YUIhFC2jbQF/uwUatU6rPbVUM5T+OfHUO3dWKv6kSsGUIOD6PEPr+fswnanpecFZYVQhFAyjPS9Tj4xw2rcU+pJApEutWsvRjaBW8NUShilkE1JIqlUPfi6VMLNFTBVr+7KYKqJ8uEjlM+dJrR5K0L7eB+9hTd2CFrWYt33h0jH3O5Nj37TBGtgZUBkUN/6q4dQ7UmsnlW450//gU5PPRq460uQXAu+j//i99A/+UdUMoXqbMNkz2OnUkixlF4u9spe/HMTULyEaA7jXkoT2fEbQIXi838DJ4cRDXHkEjc2b0MPHdptZubGpBUbM0UfKQpBRDmKWRSD3tTMk87gddA2WGe4+dkzMD0CyQ5qP/4XVDCAvfkaLMvHamzEClpQzGDF46iuJOH1CaKr2tDZRfzhQ0Ru24NYsYrCM4/jDb+FiHdi3XU/0s3vr7WsGKxcfyPSy+bxi0UqJ8f/IriiE2vrnuWsLefQk8NoO4AMBBB9/XjDI6hQCjdTxq9WCaQ6ULaDFrIeKr3oIlv70Olz2K1xlAVaSUQojD786nKi9e5A3LBHMHn0W+LUUaS1FI9q+iZZWLhHdq/FxFbWSSfsIDIQwVw4g/GK2OuuhloNMzaCaF+DNBJtQfX8LFYigElX0OkQtZKHVy3jqwDlqWncCzPI3nU4t+2FWrH+OLHzHpRl3109memTOhqDi9NfkefHEKvWLTO+VKD68Qf4G27CueFWhJ/Df+0lVFcXJOJYnobm1ZjsJUxuFjyDjK/GNK2gND4ESuDPXcCOSaI7thPqX0ft8OtUn/oTKOQgkET39KJU4RbpZXOtNRW717p+FyRSdYT+v36H4u/fQXbfc3iRDkT3FsTGjWAWEU0OZKfAU9CyEdXVD2lQPduplmo4jkBEbMzK1VgDu5EVTe3gm1RHx6Bcxpz6YLkEO0lMYeFGi6z7eVMqhkT/ZrCb0LNT+NMTRH/nt/BLRdy3X8Nv68Lu6cZEHURjE6K3hirYeLRhDWyA4jxzH40RXJwkeuM29MpN+JcziEsz+Avz6GgcW1pYbUlEQCyHwYpSyxS7rGo+v8man4ZMATrAHf+QSt7FTkWR4QbsjlbIX8IMH0VuuAqj4piGAbhmEPPzI/injnNxMUPuwOtseOIxKKTJ7/8BTBxDdXcjO9sJdTeg01VqH4wg3CDB9bshHMKORbGolVOmeRW09dVdUxkbp3ruNM7GXnS1hK5OYSoSbBDZBcxCBtF3DcUzk6hkhGA0RmtHKx1rOkE04lbzWC1tqMRt1CZHUafPIs8H6/JsNTcgN+9YFq1qgbBUFUvnK9qrVghXCvWN8MBmivueJDtylqaeBKWJaXR4JZEtNyBWrkGt6AJboCZO4J49Rc64xGIhcgtZgm6egKhgtUQQto17WeHOLqCNj5Vowbr7q4j+Lcs1JhhEphcXLTebd0jPwpkx6Lwa++bbCR95ALecp5a6BrvrJoLdHajmMOTnKb3+BrVMntjARpzeFbz8jcfpa22gGm+kMJlm95Zu9M9+iI5G0G3d6EgIUSnjzs/gv/Icgd6rqcvz0IeYWnXc8pEtYnEe8gtXNL7xz74LehHSE3DqNP7EIdx3p5DSh7JNJePiBE/gN3Uz8NWHae5sRJYXqKQvU+raQPg7L6L3/QNMHcfp6EREGjC5LDp9GaOs5VQ/NQI93YctOxFPlwniDh/C3n47JHvrQPTBl3DHjiIDQUQ4jGhOYcqaQFuE0Nl53OnLRHfsZV33KsTxd6GlHeaP477zMl5uAWv7dkyLg6kZREsb+vgCcvPOuoaYuWNQWERs3jAuQ6nooXK6TH566cXnrjQK7uwFaoseWA3oJf2WEhEJUjm/gMgXCfdvQlFFv/R3uCND6FIRv7MfMnOIiaPoI/8NEb2kWAhfoLbdjLr2jmUv/8f+pVbkHRGNnZHum2/udxxtCn4j/vgEIjNTD4O9upfIprUYoxBKo9Z14jumTq7YYD9WayvuR++hs1lkshmha4iuNeDYiIAFMoCevIi+cJHaa29gmvsRTUn0R29g9u1D7bxxv+jrRnpD56cCkdjfV9NzpA+8A5VlLojWAczlGVTAYKXimIU8MlsjtKEXgiF0aRGdm8cEYnXm+O+/gdAGuWsP3shhTHoOEYqCCEF2DsrF5f+e/xiikUldrT6l3z+GevSaTahaZdRY6uFqxRXR1sRyzU/21Gu6OTOMfzmPd6kI8TgiX8B4imouj1QCKmVUNITJ59AnR1F77kH4ZaRnQFroMyeRW3egdt6DwIX391Gshv+4LK2jtcuLqK9t7ALjZXzH1uVM/mb/7BTRnjZEex+idQ2EAnjjR/BdF1PIoV2Bae/F/fh9dL5IYE0XUmpMNo+ev4AINSJWb0UPHa63Z7SvRN3/CHJpFHj2G4iZzAuBbTu+GWpIEGxrQ/3RnlvxG5M4kYa3Lc2u4uyFblnIE+xfAbF2RMtqZGsn/uTYUgHH+dz9eFMnqYx8gO+CEwkjhcDPF/DLHurSaeTm3RiWMsDHeuDrSFvBv3+bi08+N1Vwuj/vZWtu+dwclZlFrESoeZmZysJXoTsCjnVk8dDQBuN+n8RDD9fbcdG7leBX1iOkQjhBOHmQfKGAHW3CS6fR+QClmYuYMyPY265DtPVgtfctiw4V/GcfYfGNQzj3/u4DqlormUoZEQwuc0I//eSnY4G0wPJjmdGhw+mh0fWxNZ0037cXccPd1MXgk+GjNE/tR3+Le+YEyg5TnT6LXlwgcu1u7C99HZlsv3K2+vjvkTs2RvDe3747tm7Dy1SKvzSYPP/MLwxFAkIKEzEye2zswOXX395lJyK0fOFzRHfuglQfqPin59Nn0RNDuJk09vprkd0brmx5H7xCbfgQbrZ83OkfvN1pj0+ZmkBYNhjzCwCeffr/AsBDJyU6kqBwbPzRuTcP/GXV82lYlaJpfQ+BjVdhXX0tNKTAjvzKqKXPTeC++1NKY0c9kVz1SGzb9X8tjIdfzSFCDfUw/noA0scPuxBrwcvmmH3rQIvMm3/y0XdJS4JfIpiIUG9g+wcg6KDnZpGZNDQ0Ii5cSAtlPRHYct13axWvJNwadiiAli4iEP8VAJ89HQtR129TLiG1nos0Nt8dSOi12qi9lRq3utVqT/lirql24hW3vLBQi3d3XUqu73+PZOonBNR/WnbYSMeGTO5/Xf6ZtwDwPwtFRezQVs+sAAAAAElFTkSuQmCC // @grant GM_xmlhttpRequest // @grant GM_registerMenuCommand @@ -27,7 +29,7 @@ ['menu_discuz_thread_page', '帖子内自动翻页', '帖子内自动翻页', true], ['menu_page_number', '显示当前页码及点击暂停翻页', '显示当前页码及点击暂停翻页', true], ['menu_pause_page', '左键双击网页空白处暂停翻页', '左键双击网页空白处暂停翻页', false] - ], menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, SiteType, pausePage = true, pageNum = {now: 1, _now: 1}, locationChange = false, nowLocation = '', forumWebsite = ['cs.rin.ru', 'www.flyert.com', 'bbs.pediy.com', 'www.libaclub.com', 'tieba.baidu.com', 'www.cadtutor.net', 'www.theswamp.org']; + ], menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, SiteType, pausePage = true, pageNum = {now: 1, _now: 1}, locationChange = false, nowLocation = '', forumWebsite = ['cs.rin.ru', 'www.flyert.com', 'bbs.pediy.com', 'www.libaclub.com', 'tieba.baidu.com', 'www.cadtutor.net', 'www.theswamp.org', 'www.xuexiniu.com', 'bbs.xuexiniu.com']; for (let i=0;i -1 && GM_getValue('menu_discuz_thread_page')) { curSite = DBSite.xiuno_post; - if (document.querySelector('ul.postlist > li.newpost')) curSite.pager.insertP = ['(//ul[contains(@class, "postlist")][./li[contains(@class, "newpost")]])[last()]', 1]; // 有的带回复框,需要插入到前面 + if (getCSS('ul.postlist > li.newpost')) curSite.pager.insertP = ['(//ul[contains(@class, "postlist")][./li[contains(@class, "newpost")]])[last()]', 1]; // 有的带回复框,需要插入到前面 }}, pager: { type: 1, @@ -1330,6 +1332,62 @@ scrollD: 1500 } }, // 普象网 - 收藏夹 + xuexiniu: { + host: ['www.xuexiniu.com', 'bbs.xuexiniu.com'], + functionStart: function() { + if (getCSS('body#nv_forum.pg_forumdisplay')) { + if (getCSS('ul.waterfall')) { + curSite = DBSite.xuexiniu_forum; + } else { + curSite = DBSite.discuz_guide + } + } else if (getCSS('body#nv_forum.pg_viewthread') && GM_getValue('menu_discuz_thread_page')) { + curSite = DBSite.xuexiniu_thread; + } else if (location.pathname.indexOf('/search.php') > -1) { + curSite = DBSite.xuexiniu_search; + } else { + curSite = DBSite.xuexiniu; + } + }, + pager: { + type: 1, + nextL: '//a[@class="page-link" and contains(text(), "下一页")]', + pageE: 'css;.row > .col-sm-6', + insertP: ['css;.row > .col-sm-6:last-of-type', 4], + replaceE: 'css;ul.pagination', + scrollD: 1000 + } + }, // 学犀牛 - 分类页 + xuexiniu_forum: { + pager: { + type: 1, + nextL: 'css;a.nxt:not([href*="javascript"])', + pageE: 'css;.waterfall > li', + insertP: ['css;.waterfall', 3], + replaceE: 'css;.pg', + scrollD: 1500 + } + }, // 学犀牛 - 各板块帖子列表 + xuexiniu_thread: { + pager: { + type: 1, + nextL: 'css;a.nxt:not([href*="javascript"])', + pageE: 'css;#zhanzhuai_primary > .box', + insertP: ['css;#zhanzhuai_primary > #modactions', 1], + replaceE: 'css;.pg', + scrollD: 1500 + } + }, // 学犀牛 - 帖子内 + xuexiniu_search: { + pager: { + type: 1, + nextL: 'css;a.nxt:not([href*="javascript"])', + pageE: 'css;.yangshi.yangshi2', + insertP: ['css;.page', 1], + replaceE: 'css;.page', + scrollD: 1500 + } + }, // 学犀牛 - 搜索页 om: { host: 'www.om.cn', functionStart: function() {if (location.pathname != '/') {curSite = DBSite.om;}}, @@ -2198,7 +2256,7 @@ host: /bthaha/, functionStart: function() {if (location.pathname.indexOf('/search/') > -1) { curSite = DBSite.bthaha; - document.querySelectorAll('[id^="list_top"], [id^="list_bottom"]').forEach(function (one) {one.parentElement.parentElement.hidden = true;}); + getAllCSS('[id^="list_top"], [id^="list_bottom"]').forEach(function (one) {one.parentElement.parentElement.hidden = true;}); }}, insStyle: '[id^="list_top"], [id^="list_bottom"] {display: none !important;}', pager: { @@ -2279,14 +2337,14 @@ if (location.pathname.indexOf('/chapter/') > -1) { curSite = DBSite.haoman; } else if (location.pathname.indexOf('/comic/') > -1) { - if (document.querySelector('.chapter__more')) document.querySelector('.chapter__more').click(); + if (getCSS('.chapter__more')) getCSS('.chapter__more').click(); } else if (location.pathname.indexOf('/category/') > -1 || location.pathname.indexOf('/search') > -1) { curSite = DBSite.haoman_list; }}, insStyle: '.rd-guess, .rd-aside, .page-index__btn {display: none !important;} .rd-article__pic {display: initial !important;} .rd-article__pic > img {margin: 0 auto;display: block;height: auto;min-height: 200px;}', pager: { type: 1, - nextL: function() {if (document.querySelector('a.rd-aside__item.j-rd-next')) return location.origin + document.querySelector('a.rd-aside__item.j-rd-next').getAttribute('_href')}, + nextL: function() {if (getCSS('a.rd-aside__item.j-rd-next')) return location.origin + getCSS('a.rd-aside__item.j-rd-next').getAttribute('_href')}, pageE: 'css;.rd-article-wr > div', insertP: ['css;.rd-article-wr', 3], replaceE: 'css;a.last-crumb, .rd-aside, title', @@ -2316,7 +2374,7 @@ cartoonmad: { host: ['www.cartoonmad.com','www.cartoonmad.cc'], functionStart: function() {if (location.pathname.indexOf('/comic/') > -1) { - document.querySelector('body > table > tbody > tr:nth-child(4) > td > table > tbody > tr:first-child > td:first-child > a').href = 'javascript:void(0);'; // 清理图片上的链接 + getCSS('body > table > tbody > tr:nth-child(4) > td > table > tbody > tr:first-child > td:first-child > a').href = 'javascript:void(0);'; // 清理图片上的链接 curSite = DBSite.cartoonmad; } else if (location.pathname != '/') { curSite = DBSite.cartoonmad_list; @@ -2433,7 +2491,7 @@ manhuadb: { host: 'www.manhuadb.com', functionStart: function() {if (/\/manhua\/\d+\/.+\.html/.test(location.pathname)) { - if (document.querySelector('img.img-fluid.show-pic')) document.querySelector('img.img-fluid.show-pic').style.display = 'none'; // 隐藏第一个图片(避免重复) + if (getCSS('img.img-fluid.show-pic')) getCSS('img.img-fluid.show-pic').style.display = 'none'; // 隐藏第一个图片(避免重复) setTimeout(manhuadb_init, 100); curSite = DBSite.manhuadb; } else if (location.pathname.indexOf('/list') > -1) { @@ -2518,7 +2576,7 @@ dmzj_manhua: { host: 'manhua.dmzj.com', functionStart: function() {if (/\/\d+\.shtml/.test(location.pathname)) { - let chapterScroll = document.getElementById('qiehuan_txt') // 强制为 [上下滚动阅读] 模式 + let chapterScroll = getCSS('#qiehuan_txt') // 强制为 [上下滚动阅读] 模式 if (chapterScroll && chapterScroll.textContent === '切换到上下滚动阅读') {chapterScroll.click();} setTimeout(dmzj_manhua_init, 100); curSite = DBSite.dmzj_manhua; @@ -2582,7 +2640,7 @@ functionStart: function() {if (/\/\d+\.html/.test(location.pathname)) { // 阅读页 curSite = DBSite.mhxqiu; } else if (/\/\d+\/$/.test(location.pathname)) { // 目录页 - setTimeout(function(){if (document.getElementById('zhankai')) document.getElementById('zhankai').click();}, 500) + setTimeout(function(){if (getCSS('#zhankai')) getCSS('#zhankai').click();}, 500) } else if (/\/(sort|rank)\//.test(location.pathname)) { // 分类页 curSite = DBSite.mhxqiu_list; }}, @@ -2626,7 +2684,7 @@ if (location.pathname.indexOf('/chapter/') > -1) { curSite = DBSite.baozimh; } else if (location.pathname.indexOf('/comic/') > -1) { - if (document.getElementById('button_show_all_chatper')) document.getElementById('button_show_all_chatper').click(); + if (getCSS('#button_show_all_chatper')) getCSS('#button_show_all_chatper').click(); }}, insStyle: '#footer, #header {display: none !important;} .header, .bottom-bar {opacity: 0.3;}', pager: { @@ -2645,7 +2703,7 @@ curSite = DBSite.leyuman; setTimeout(leyuman_init, 100); } else if (/\/comic\/\d+\.html/.test(location.pathname)) { - setTimeout(function(){if (document.getElementById('read-more')) document.getElementById('read-more').click();}, 500) + setTimeout(function(){if (getCSS('#read-more')) getCSS('#read-more').click();}, 500) } else { curSite = DBSite.leyuman_list; }}, @@ -2677,7 +2735,7 @@ gufengmh: { host: /gufengmh/, functionStart: function() {if (/\/\d+.+\.html/.test(location.pathname)) { - let chapterScroll = document.getElementById('chapter-scroll') // 强制为 [下拉阅读] 模式 + let chapterScroll = getCSS('#chapter-scroll') // 强制为 [下拉阅读] 模式 if (chapterScroll && chapterScroll.className === '') {chapterScroll.click();} curSite = DBSite.gufengmh; } else if (location.pathname.indexOf('/update') > -1 || location.pathname.indexOf('/list') > -1 || location.pathname.indexOf('/search') > -1) { @@ -2710,7 +2768,7 @@ if (location.pathname.indexOf('/szcchapter/') > -1) { curSite = DBSite.szcdmj; } else if (location.pathname.indexOf('/szcbook/') > -1) { - if (document.getElementById('detail-list-more')) document.getElementById('detail-list-more').click(); + if (getCSS('#detail-list-more')) getCSS('#detail-list-more').click(); } else if (location.pathname === '/szcbolist' || location.pathname === '/update') { curSite = DBSite.szcdmj_list; }}, @@ -2744,7 +2802,7 @@ setTimeout(mangabz_init, 500); curSite = DBSite.mangabz; } else if (/\/\d+bz\//.test(location.pathname)) { - if (document.querySelector('.detail-list-form-more')) document.querySelector('.detail-list-form-more').click(); + if (getCSS('.detail-list-form-more')) getCSS('.detail-list-form-more').click(); } else if (location.pathname.indexOf('/manga-list') > -1 || location.pathname === '/search') { curSite = DBSite.mangabz_list; }}, @@ -2775,7 +2833,7 @@ setTimeout(mangabz_init, 500); curSite = DBSite.xmanhua; } else if (/\/\d+xm\//.test(location.pathname)) { - if (document.querySelector('.detail-list-form-more')) document.querySelector('.detail-list-form-more').click(); + if (getCSS('.detail-list-form-more')) getCSS('.detail-list-form-more').click(); } else if (location.pathname.indexOf('/manga-list') > -1 || location.pathname === '/search') { curSite = DBSite.xmanhua_list; }}, @@ -2811,7 +2869,7 @@ setTimeout(cocomanga_init, 500); curSite = DBSite.cocomanga; } else if (/\/\d+\/$/.test(location.pathname)) { - setTimeout(function(){if (document.querySelector('a.website-display-all')) document.querySelector('a.website-display-all').click();}, 300) + setTimeout(function(){if (getCSS('a.website-display-all')) getCSS('a.website-display-all').click();}, 300) } else if (location.pathname === '/show') { curSite = DBSite.cocomanga_list; } else if (location.pathname === '/search') { @@ -3787,7 +3845,7 @@ pager: { type: 3, nextL: function() { // 过滤部分非本页的参考手册 - let next = document.querySelector('li.next > a[href]') + let next = getCSS('li.next > a[href]') if (next && next.href.indexOf('/index.') === -1) return next.href; curSite = {SiteTypeID: 0}; return '' }, @@ -3802,12 +3860,12 @@ }, // W3school runoob: { host: 'www.runoob.com', - functionStart: function() {if (location.pathname.split('/').length > 2 && document.getElementById('leftcolumn')) {curSite = DBSite.runoob;}}, + functionStart: function() {if (location.pathname.split('/').length > 2 && getCSS('#leftcolumn')) {curSite = DBSite.runoob;}}, insStyle: '#comments, #postcomments, #respond, #footer {display: none !important;} .article-intro h1:not(:nth-of-type(1)) {margin: 30px 0 10px 0;}', pager: { type: 1, nextL: function() { // 过滤部分非本页的参考手册 - let next = document.querySelector('#leftcolumn > a[style]~a[href]') + let next = getCSS('#leftcolumn > a[style]~a[href]') if (next && next.href.split('/').length === location.href.split('/').length && next.href.split('/')[3] === location.href.split('/')[3]) return next.href; next.href = location.href; curSite = {SiteTypeID: 0}; return '' }, @@ -3820,7 +3878,7 @@ }, function: { aF: function() { // 左侧栏高亮当前页面标题 - let title = document.title.split(' | '); if (title.length > 1) {title = title[0]; document.querySelectorAll('#leftcolumn > a').forEach(function(e){if (e.innerText === title) {e.style = 'background-color: rgb(150, 185, 125); font-weight: bold; color: rgb(255, 255, 255);';}})} + let title = document.title.split(' | '); if (title.length > 1) {title = title[0]; getAllCSS('#leftcolumn > a').forEach(function(e){if (e.innerText === title) {e.style = 'background-color: rgb(150, 185, 125); font-weight: bold; color: rgb(255, 255, 255);';}})} } } }, // 菜鸟教程 @@ -3829,13 +3887,13 @@ functionStart: function() { if (location.host === 'zzk.cnblogs.com') { curSite = DBSite.cnblogs_search; - } else if (document.getElementById('post_list')) { + } else if (getCSS('#post_list')) { curSite = DBSite.cnblogs_list; - } else if (location.pathname.split('/').length === 3 && document.querySelector('.topicListFooter')) { + } else if (location.pathname.split('/').length === 3 && getCSS('.topicListFooter')) { curSite = DBSite.cnblogs; - if (!document.getElementById('homepage_top_pager')) { - document.querySelector('.forFlow').insertAdjacentHTML(getAddTo(2), '
'); - document.querySelector('.forFlow').insertAdjacentHTML(getAddTo(3), '
'); + if (!getCSS('#homepage_top_pager')) { + getCSS('.forFlow').insertAdjacentHTML(getAddTo(2), '
'); + getCSS('.forFlow').insertAdjacentHTML(getAddTo(3), '
'); } } }, @@ -3870,7 +3928,7 @@ }, // 博客园 - 搜索页 zhutix: { host: 'zhutix.com', - functionStart: function() {if (document.getElementById('post-list')) { + functionStart: function() {if (getCSS('#post-list')) { curSite = DBSite.zhutix; } else { curSite = DBSite.zhutix_list; @@ -4406,7 +4464,7 @@ }, // 美女推 - 分类页 mzitu: { host: 'www.mzitu.com', - functionStart: function() {if (/\/\d+/.test(location.pathname)) {curSite = DBSite.mzitu;document.querySelector('.main-image a[href]').href = 'javascript:void(0);'} else {curSite = DBSite.mzitu_list;}}, + functionStart: function() {if (/\/\d+/.test(location.pathname)) {curSite = DBSite.mzitu;getCSS('.main-image a[href]').href = 'javascript:void(0);'} else {curSite = DBSite.mzitu_list;}}, pager: { type: 1, nextL: '//div[@class="pagenavi"]/a[contains(string(), "下一页")]', @@ -4665,10 +4723,10 @@ // [Discuz! 论坛] 判断各版块帖子列表类型 function discuzForum() { - if (document.getElementById('autopbn')) { // 判断是否有 [下一页] 按钮 + if (getCSS('#autopbn')) { // 判断是否有 [下一页] 按钮 curSite = DBSite.discuz_forum; - } else if (document.getElementById('waterfall')) { // 判断是否为图片模式 - if (!document.querySelector('#pgbtn, .pgbtn')) { // 如果各版块帖子列表已存在这个元素,说明自带了无缝翻页 + } else if (getCSS('#waterfall')) { // 判断是否为图片模式 + if (!getCSS('#pgbtn, .pgbtn')) { // 如果各版块帖子列表已存在这个元素,说明自带了无缝翻页 curSite = DBSite.discuz_waterfall; waterfallStyle(); // 图片模式列表样式预处理 } } else { @@ -4676,8 +4734,8 @@ } } function discuz_() { - if (document.querySelector('body[id="nv_forum"][class^="pg_"][onkeydown*="27"]')) { - switch (document.querySelector('body[id="nv_forum"][class^="pg_"][onkeydown*="27"]').className) { + if (getCSS('body[id="nv_forum"][class^="pg_"][onkeydown*="27"]')) { + switch (getCSS('body[id="nv_forum"][class^="pg_"][onkeydown*="27"]').className) { case 'pg_forumdisplay': // < 各版块帖子列表 > discuzForum(); break; case 'pg_viewthread': // < 帖子内 > @@ -4690,7 +4748,7 @@ } // 如果上面没有匹配的则继续 < 搜索结果 > if (curSite.SiteTypeID === 0) { - if (location.pathname.indexOf('search') > -1 || document.querySelector('body[id="nv_search"][onkeydown*="27"]')) { + if (location.pathname.indexOf('search') > -1 || getCSS('body[id="nv_search"][onkeydown*="27"]')) { curSite = DBSite.discuz_search; } } @@ -4716,17 +4774,17 @@ curSite = DBSite.discuz_youspace; } else if (location.search.indexOf('mod=collection') > -1) { // < 淘贴列表 > curSite = DBSite.discuz_collection; - } else if (document.getElementById('threadlist')) { // < 部分论坛的各板块 URL 是自定义的 > + } else if (getCSS('#threadlist')) { // < 部分论坛的各板块 URL 是自定义的 > discuzForum(); - } else if (document.getElementById('postlist')) { // < 部分论坛的帖子内 URL 是自定义的 > + } else if (getCSS('#postlist')) { // < 部分论坛的帖子内 URL 是自定义的 > if (GM_getValue('menu_discuz_thread_page')) curSite = DBSite.discuz_thread; } } } // [Discuz! 论坛] 图片模式列表样式预处理 function waterfallStyle() { - let width = document.querySelector('#waterfall > li:first-child').style.width; - insStyle(`#waterfall {height: auto !important; width: 100% !important;} #waterfall > li {width: ${width} !important; float: left !important; position: inherit !important; left: auto !important; top: auto !important;}`); + let width = getCSS('#waterfall > li:first-child').style.width; + if (width) insStyle(`#waterfall {height: auto !important; width: 100% !important;} #waterfall > li {width: ${width} !important; float: left !important; position: inherit !important; left: auto !important; top: auto !important;}`); } @@ -4780,14 +4838,14 @@ // [百度贴吧](发帖按钮点击事件) function baidu_tieba_1() { - let button = document.querySelector('.tbui_aside_fbar_button.tbui_fbar_post > a'); + let button = getCSS('.tbui_aside_fbar_button.tbui_fbar_post > a'); if (button) { button.remove(); - document.querySelector('li.tbui_aside_fbar_button.tbui_fbar_down').insertAdjacentHTML(getAddTo(4), '
  • ') - button = document.querySelector('.tbui_aside_fbar_button.tbui_fbar_post > a'); + getCSS('li.tbui_aside_fbar_button.tbui_fbar_down').insertAdjacentHTML(getAddTo(4), '
  • ') + button = getCSS('.tbui_aside_fbar_button.tbui_fbar_post > a'); if (button) { button.onclick = function(){ - let button2 = document.querySelector('div.edui-btn.edui-btn-fullscreen.edui-btn-name-portrait'); + let button2 = getCSS('div.edui-btn.edui-btn-fullscreen.edui-btn-name-portrait'); if (button2) { button2.click(); } else { @@ -4810,7 +4868,7 @@ } // [百度贴吧] 获取下一页地址 function baidu_tieba_nextL() { - let next = document.querySelector('a.next.pagination-item'); + let next = getCSS('a.next.pagination-item'); if (next != null && next.nodeType === 1 && next.href && next.href.slice(0,4) === 'http') { var url = next.href + '&pagelets=frs-list%2Fpagelet%2Fthread&pagelets_stamp=' + new Date().getTime(); if (url === curSite.pageUrl) return @@ -4839,7 +4897,7 @@ // 当前页码 + 1 pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, temp_baidu_tieba, temp_baidu_tieba); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -4858,16 +4916,16 @@ // [V2EX] 的插入后函数(新标签页打开链接) function v2ex_aF(css) { - let links = document.querySelectorAll(css);if (!links) return + let links = getAllCSS(css);if (!links) return links.forEach(function (_this) {_this.target = '_blank';}); } // [龙的天空] 获取下一页地址 function lkong_nextL() { - let next = document.querySelector('li.ant-pagination-next'), page; + let next = getCSS('li.ant-pagination-next'), page; if (next && next.getAttribute('aria-disabled') === 'false') { - page = document.querySelector('li.ant-pagination-item-active[title]'); + page = getCSS('li.ant-pagination-item-active[title]'); if (page && page.title) { if (curSite.pager.interval) { let _SiteTypeID = curSite.SiteTypeID; curSite.SiteTypeID = 0; @@ -4933,7 +4991,7 @@ // [NexusMods] 获取下一页地址 function nexusmods_nextL() { - if (document.querySelector('.nexus-ui-blocker')) return + if (getCSS('.nexus-ui-blocker')) return let modList; if (location.pathname.indexOf('/news') > -1) {modList = RH_NewsTabContent;} else {modList = RH_ModList;} let out_items = JSON.stringify(modList.out_items).replace(/{|}|"/g,''), @@ -4988,7 +5046,7 @@ // 当前页码 + 1 pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, newBody, newBody); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5013,7 +5071,7 @@ // [bilibili_search] 获取下一页地址 function bilibili_search_nextL() { if (!location.search) return - let pageActive = 1, pageLast = parseInt(document.querySelector('li.page-item.last').innerText); + let pageActive = 1, pageLast = parseInt(getCSS('li.page-item.last').innerText); if (/page=\d+/.test(location.search)) { pageActive = parseInt(/page=\d+/.exec(location.search)[0].replace('page=','')) } @@ -5029,7 +5087,7 @@ function bilibili_search_aF() { let result = __INITIAL_STATE__.flow[__INITIAL_STATE__.flow.fields[0]].result; if (result.length > 0) { - let imgArr = document.querySelectorAll('.img > .lazy-img > img[src=""]'); + let imgArr = getAllCSS('.img > .lazy-img > img[src=""]'); if (imgArr.length > 0) { for (let i = 0; i < imgArr.length; i++) { imgArr[i].src = result[i].pic; @@ -5058,11 +5116,11 @@ // [SkrBT] 获取下一页地址 function skrbt_nextL() { - let page = document.querySelector('a[onclick][aria-label="Next"]'); + let page = getCSS('a[onclick][aria-label="Next"]'); if (page) {page = /(?<=\()\d+(?=\))/.exec(page.onclick)[0];} else {return '';} // 获取下一页页码 if (page) { - let action = document.getElementById('search-form').action, value = ''; // 获取提交表单 URL - document.querySelectorAll('#search-form input[name]').forEach(function(input) {value += input.name + '=' + input.value + '&';}) // 生成表单参数 + let action = getCSS('#search-form').action, value = ''; // 获取提交表单 URL + getAllCSS('#search-form input[name]').forEach(function(input) {value += input.name + '=' + input.value + '&';}) // 生成表单参数 value = encodeURI(value.replace(/&$/,'').replace(/p=\d+/,'p=' + page)); // 清理最后一个 & 符号,并替换页码 if (action && value) return (action + '?' + value) } @@ -5131,8 +5189,8 @@ for (let now of img_data_arr) { _img += ``; } - document.querySelector('.img-content > img').remove(); - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS('.img-content > img').remove(); + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [漫画猫] 获取下一页地址 @@ -5144,7 +5202,7 @@ getPageElems(curSite.pageUrl); // 真正的下一页链接 } } else { - let vg_r_data = document.querySelector('.vg-r-data'); + let vg_r_data = getCSS('.vg-r-data'); if (vg_r_data) { getPageElems(`https://${location.host}/chapter_num?chapter_id=${vg_r_data.dataset.chapter_num}&ctype=1&type=${vg_r_data.dataset.chapterType};`, 'json', 'GET', '', 'url'); } @@ -5161,7 +5219,7 @@ window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5170,12 +5228,12 @@ } // 插入图片 - let _img = '', _img_arr = LZString.decompressFromBase64(getXpath('//body/script[not(@src)][contains(text(), "img_data")]').textContent.split('"')[1]).split(','), vg_r_data = document.querySelector('.vg-r-data');; + let _img = '', _img_arr = LZString.decompressFromBase64(getXpath('//body/script[not(@src)][contains(text(), "img_data")]').textContent.split('"')[1]).split(','), vg_r_data = getCSS('.vg-r-data');; for (let now of _img_arr) { _img += ``; } if (_img) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } @@ -5185,9 +5243,9 @@ // [漫画DB] 初始化(将本话其余图片插入网页中) function manhuadb_init() { let _img = '', - data = document.querySelector('.vg-r-data'), imgDate; + data = getCSS('.vg-r-data'), imgDate; if (!data) return - document.querySelectorAll(curSite.pager.pageE.replace('css;', '')).forEach(function (one) { + getAllCSS(curSite.pager.pageE.replace('css;', '')).forEach(function (one) { if (one.tagName === 'SCRIPT' && one.textContent.indexOf('var img_data =') > -1) { let json = JSON.parse(window.atob(one.textContent.split("'")[1])); if (json) { @@ -5196,14 +5254,14 @@ let src = data.dataset.host + data.dataset.img_pre + json[i].img; _img += `` } - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } } }) } // [漫画DB] 获取下一页地址 function manhuadb_nextL() { - let nextArr = document.querySelectorAll('a.fixed-a-es'), next; + let nextArr = getAllCSS('a.fixed-a-es'), next; var url = ''; if (nextArr.length == 0) return for (let i = 0; i < nextArr.length; i++) { @@ -5219,7 +5277,7 @@ // [漫画DB] 插入数据 function manhuadb_insertE(pageElems, type) { if (!pageElems) return - let oriE = document.querySelectorAll(curSite.pager.pageE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.pageE.replace('css;', '')), repE = getAll(curSite.pager.pageE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5235,18 +5293,18 @@ // [HiComic(嗨漫画)] 初始化(将本话其余图片插入网页中) function hicomic_init() { let _img = ''; - document.querySelectorAll('.chapter > section:not(:first-child) > section[val]').forEach(function (one) { + getAllCSS('.chapter > section:not(:first-child) > section[val]').forEach(function (one) { let src = one.getAttribute('val'); if (src.indexOf('!p_c_c_') === -1) src += '!p_c_c_h' _img += `` }) - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - window.document.title = window.document.title.replace(/(\(第.+\))? - HiComic/, `(${document.querySelector('.chapter_name').textContent}) - HiComic`); // 修改网页标题(加上 第 X 话) + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + window.document.title = window.document.title.replace(/(\(第.+\))? - HiComic/, `(${getCSS('.chapter_name').textContent}) - HiComic`); // 修改网页标题(加上 第 X 话) } // [HiComic(嗨漫画)] 获取下一页地址 function hicomic_nextL() { let nextId; - nextId = document.querySelector('.next_chapter:not(.end)') + nextId = getCSS('.next_chapter:not(.end)') if (nextId && nextId.id && nextId.id != 'None') { curSite.pageUrl = location.href; getPageElems(`https://www.hicomic.net/api/web/chapter/${nextId.id}/contents`, 'json'); @@ -5256,12 +5314,12 @@ function hicomic_insertE(pageElems, type) { if (!pageElems || pageElems.code != 200) return if (pageElems.results.chapter.next) { // 写入下一页的 UUID - document.querySelector('.next_chapter').id = pageElems.results.chapter.next; + getCSS('.next_chapter').id = pageElems.results.chapter.next; } else { - document.querySelector('.next_chapter').id = 'None'; - document.querySelector('.next_chapter').classList.add('end'); + getCSS('.next_chapter').id = 'None'; + getCSS('.next_chapter').classList.add('end'); } - document.querySelector('.chapter_name').textContent = pageElems.results.chapter.name; // 修改漫画标题 + getCSS('.chapter_name').textContent = pageElems.results.chapter.name; // 修改漫画标题 let title = window.document.title.replace(/(\(第.+\))? - HiComic/, `(${pageElems.results.chapter.name}) - HiComic`) window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, title, curSite.pageUrl); // 添加历史记录 window.document.title = title; // 修改当前网页标题为下一话的标题 @@ -5271,7 +5329,7 @@ if (src.indexOf('!p_c_c_') === -1) src += '!p_c_c_h'; _img += `` } - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } @@ -5280,17 +5338,17 @@ // [动漫之家] 初始化(调整本话其余图片) function dmzj_init() { let _img = ''; - document.querySelectorAll('.comic_wraCon > a > img').forEach(function (one) { + getAllCSS('.comic_wraCon > a > img').forEach(function (one) { _img += ``; one.parentElement.remove(); }) - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [动漫之家] 获取下一页地址 function dmzj_nextL() { let next; - next = document.querySelector('span.next > a') + next = getCSS('span.next > a') if (next) { if (next.href === curSite.pageUrl) return curSite.pageUrl = next.href; @@ -5314,13 +5372,13 @@ _img += ``; } if (_img) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5336,17 +5394,17 @@ // [动漫之家-漫画] 初始化(调整本话其余图片) function dmzj_manhua_init() { let _img = ''; - document.querySelectorAll('#center_box > .inner_img img[src]').forEach(function (one) { + getAllCSS('#center_box > .inner_img img[src]').forEach(function (one) { _img += ``; one.parentElement.parentElement.remove(); }) - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [动漫之家-漫画] 获取下一页地址 function dmzj_manhua_nextL() { let next; - next = document.getElementById('next_chapter') + next = getCSS('#next_chapter') if (next) { if (next.href === curSite.pageUrl) return curSite.pageUrl = next.href; @@ -5365,13 +5423,13 @@ _img += ``; } if (_img) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5400,7 +5458,7 @@ // [拷贝漫画] 加载下一页 function copymanga_nextL() { let next; - next = document.querySelector('.comicContent-next > a') + next = getCSS('.comicContent-next > a') if (next) { if (next.href === curSite.pageUrl) return curSite.pageUrl = next.href; @@ -5420,13 +5478,13 @@ scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight, clientHeight = document.documentElement.clientHeight || document.body.clientHeight if (scrollTop + clientHeight + 10 >= scrollHeight) { - if (!document.getElementById('xiu-scroll')) { + if (!getCSS('#xiu-scroll')) { let newStyle = document.createElement('style'); newStyle.id = 'xiu-scroll'; document.lastElementChild.appendChild(newStyle).textContent = 'html::-webkit-scrollbar {width: 0 !important;height: 0 !important;} html {scrollbar-width: none !important;}'; } } else { - if (document.getElementById('xiu-scroll')) { - document.getElementById('xiu-scroll').remove(); + if (getCSS('#xiu-scroll')) { + getCSS('#xiu-scroll').remove(); } } //console.log(`${scrollTop} + ${clientHeight} >= ${scrollTop + clientHeight} / ${scrollHeight}`) @@ -5455,7 +5513,7 @@ // [漫画星球] 获取下一页地址 function mhxqiu_nextL() { - let next = document.querySelector('#mainControlNext'); + let next = getCSS('#mainControlNext'); if (next) { if (next.href === curSite.pageUrl) return curSite.pageUrl = next.href; @@ -5476,7 +5534,7 @@ } if (_img) { // 将 img 标签插入到网页中 - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5485,7 +5543,7 @@ pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5516,7 +5574,7 @@ // 插入图片 setTimeout(function() { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).appendChild(document.createElement('img')).src = mhpicurl; + getCSS(curSite.pager.insertP[0].replace('css;', '')).appendChild(document.createElement('img')).src = mhpicurl; // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5525,7 +5583,7 @@ pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5547,12 +5605,12 @@ _img += ``; } } - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).innerHTML = _img; + getCSS(curSite.pager.insertP[0].replace('css;', '')).innerHTML = _img; } // [乐语漫画] 获取下一页地址 function leyuman_nextL() { - let next = document.querySelector('#xurl'); + let next = getCSS('#xurl'); if (next) { if (next.href === curSite.pageUrl) return curSite.pageUrl = next.href; @@ -5577,7 +5635,7 @@ } if (_img) { // 将 img 标签插入到网页中 - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5586,7 +5644,7 @@ pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5599,7 +5657,7 @@ // [古风漫画网] 获取下一页地址 function gufengmh_nextL() { - let pageElems = document.querySelector(curSite.pager.pageE.replace('css;', '')); // 寻找数据所在元素 + let pageElems = getCSS(curSite.pager.pageE.replace('css;', '')); // 寻找数据所在元素 if (pageElems) { let comicUrl, nextId; var url = ''; @@ -5625,7 +5683,7 @@ let url = curSite.pageUrl; pageElems = getOne(curSite.pager.pageE, pageElems, pageElems); let chapterImages, chapterPath; - document.querySelector(curSite.pager.pageE.replace('css;', '')).innerText = pageElems.textContent; // 将当前网页内的数据所在元素内容改为刚刚获取的下一页数据内容,以便循环获取下一页 URL + getCSS(curSite.pager.pageE.replace('css;', '')).innerText = pageElems.textContent; // 将当前网页内的数据所在元素内容改为刚刚获取的下一页数据内容,以便循环获取下一页 URL pageElems.textContent.split(';').forEach(function (one){ // 分号 ; 分割为数组并遍历 //console.log(one) if (one.indexOf('chapterImages') > -1) { // 图片文件名数组 @@ -5643,7 +5701,7 @@ chapterImages.forEach(function (one2){ // 遍历图片文件名数组,组合为 img 标签 _img += '' }) - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } @@ -5666,9 +5724,9 @@ // [Mangabz 漫画] 初始化(调整本话图片) function mangabz_init() { - let showimage = document.getElementById('showimage'), - cp_img = document.getElementById('cp_img'), - cp_image = document.getElementById('cp_image'); + let showimage = getCSS('#showimage'), + cp_img = getCSS('#cp_img'), + cp_image = getCSS('#cp_image'); if (showimage) {showimage.removeAttribute('oncontextmenu');} if (cp_img) {cp_img.removeAttribute('oncontextmenu');} if (cp_image) { @@ -5705,7 +5763,7 @@ _img += ``; } if (_img) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 MANGABZ_PAGE += imgArr.length; @@ -5764,7 +5822,7 @@ _img += ``; } if (_img) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 XMANHUA_PAGE += imgArr.length; @@ -5797,9 +5855,9 @@ // [COCOMANGA 漫画] 初始化(调整本话图片) function cocomanga_init() { - let last = document.querySelector('.mh_comicpic:last-of-type'); + let last = getCSS('.mh_comicpic:last-of-type'); if (last && last.getAttribute('p')) { - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).innerHTML = ''; // 删除旧图片元素 + getCSS(curSite.pager.insertP[0].replace('css;', '')).innerHTML = ''; // 删除旧图片元素 cocomanga_img(parseInt(last.getAttribute('p'))) // 插入新图片元素 } } @@ -5810,7 +5868,7 @@ for (let i=1; i<=totalImageCount; i++) { _img += `
    `; } - document.querySelector(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [COCOMANGA 漫画] 获取下一页地址 function cocomanga_nextL() { @@ -5840,7 +5898,7 @@ pageNum.now = pageNum._now + 1 // 替换元素 - let oriE = document.querySelectorAll(curSite.pager.replaceE.replace('css;', '')), + let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), repE = getAll(curSite.pager.replaceE, pageElems, pageElems); if (oriE.length === repE.length) { for (let i = 0; i < oriE.length; i++) { @@ -5851,7 +5909,7 @@ } // [COCOMANGA 漫画 - 列表页] 获取下一页地址 function cocomanga_list_nextL() { - let pageActive = parseInt(document.querySelector('.fed-page-info a.fed-btns-green').innerText); + let pageActive = parseInt(getCSS('.fed-page-info a.fed-btns-green').innerText); if (/page=\d+/.test(location.search)) { return (location.origin + location.pathname + location.search.replace(/page=\d+/,`page=${pageActive+1}`)) } else { @@ -5975,25 +6033,25 @@ if (support) { console.info('[自动无缝翻页] - 独立规则 网站'); return 1; - } else if (document.querySelector('meta[name="author" i][content*="Discuz!" i], meta[name="generator" i][content*="Discuz!" i], body[id="nv_forum" i][class^="pg_" i][onkeydown*="27"], body[id="nv_search" i][onkeydown*="27"]') || (document.querySelector('a[href*="www.discuz.net" i]') && document.querySelector('a[href*="www.discuz.net" i]').textContent.indexOf('Discuz!') > -1) || (document.getElementById('ft') && document.getElementById('ft').textContent.indexOf('Discuz!') > -1)) { + } else if (getCSS('meta[name="author" i][content*="Discuz!" i], meta[name="generator" i][content*="Discuz!" i], body[id="nv_forum" i][class^="pg_" i][onkeydown*="27"], body[id="nv_search" i][onkeydown*="27"]') || (getCSS('a[href*="www.discuz.net" i]') && getCSS('a[href*="www.discuz.net" i]').textContent.indexOf('Discuz!') > -1) || (getCSS('#ft') && getCSS('#ft').textContent.indexOf('Discuz!') > -1)) { console.info('[自动无缝翻页] - 论坛'); return 2; - } else if (document.getElementById('flarum-loading')) { + } else if (getCSS('#flarum-loading')) { console.info('[自动无缝翻页] - 论坛'); return 3; - } else if (document.querySelector('body#phpbb')) { + } else if (getCSS('body#phpbb')) { console.info('[自动无缝翻页] - 论坛'); return 4; } else if (getXpath('//footer//a[contains(string(), "Xiuno")] | //link[contains(@href, "xiuno")] | //script[contains(@src, "xiuno")]')) { console.info('[自动无缝翻页] - 论坛'); return 5; } else if (typeof XF != 'undefined') { console.info('[自动无缝翻页] - 论坛'); return 6; - } else if (document.querySelector('link[href*="themes/dux" i], script[src*="themes/dux" i]')) { + } else if (getCSS('link[href*="themes/dux" i], script[src*="themes/dux" i]')) { console.info('[自动无缝翻页] - 使用 WordPress 主题的网站'); return 100; - } else if (document.querySelector('link[href*="themes/xiu" i], script[src*="themes/xiu" i]')) { + } else if (getCSS('link[href*="themes/xiu" i], script[src*="themes/xiu" i]')) { console.info('[自动无缝翻页] - 使用 WordPress 主题的网站'); return 101; - } else if (document.querySelector('link[href*="themes/d8" i], script[src*="themes/d8" i]')) { + } else if (getCSS('link[href*="themes/d8" i], script[src*="themes/d8" i]')) { console.info('[自动无缝翻页] - 使用 WordPress 主题的网站'); return 102; - } else if (document.querySelector('link[href*="themes/begin" i], script[src*="themes/begin" i], img[src*="themes/begin" i]')) { + } else if (getCSS('link[href*="themes/begin" i], script[src*="themes/begin" i], img[src*="themes/begin" i]')) { console.info('[自动无缝翻页] - 使用 WordPress 主题的网站'); return 103; - } else if (document.querySelector('meta[name="description"][content*="小说"], meta[name="description"][content*="章节"], meta[name="description"][content*="阅读"]') && document.getElementById('content') && getXpath('//a[contains(text(), "下一章") or contains(text(), "下一页")]')) { + } else if (getCSS('meta[name="description"][content*="小说"], meta[name="description"][content*="章节"], meta[name="description"][content*="阅读"]') && getCSS('#content') && getXpath('//a[contains(text(), "下一章") or contains(text(), "下一页")]')) { console.info('[自动无缝翻页] - <笔趣阁> 模板的小说网站'); return 200; } else if (self != top) { return -1; @@ -6311,8 +6369,8 @@ } // 显示页码 function pageNumber(type) { - if (curSite.SiteTypeID === 0 || curSite.hiddenPN) {let status = document.getElementById('Autopage_number');if (status) {status.style.display = 'none';}; return} - let status = document.getElementById('Autopage_number'); + if (curSite.SiteTypeID === 0 || curSite.hiddenPN) {let status = getCSS('#Autopage_number');if (status) {status.style.display = 'none';}; return} + let status = getCSS('#Autopage_number'); switch (type) { case 'add': add(); break; @@ -6332,14 +6390,14 @@
    ${pageNum._now}
    ` document.body.insertAdjacentHTML('beforeend', _html); // 点击事件(临时暂停翻页) - document.getElementById('Autopage_number').onclick = function () { + getCSS('#Autopage_number').onclick = function () { if (pausePage) { pausePage = false; this.style = 'color: #FF5722 !important; font-style: italic !important;'; } else { pausePage = true; this.style = ''; } }; - status = document.getElementById('Autopage_number'); + status = getCSS('#Autopage_number'); set(); } // 监听储存当前页码的对象值的变化 From 847a0c6499b8ed7be6e736dd71c9d2d1dba085a3 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Wed, 17 Nov 2021 10:10:34 +0800 Subject: [PATCH 0003/1666] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[=E6=B7=98?= =?UTF-8?q?=E8=82=A1=E5=90=A7]=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index df09b9a67..a2766cf94 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.6 +// @version 3.4.7 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -29,7 +29,7 @@ ['menu_discuz_thread_page', '帖子内自动翻页', '帖子内自动翻页', true], ['menu_page_number', '显示当前页码及点击暂停翻页', '显示当前页码及点击暂停翻页', true], ['menu_pause_page', '左键双击网页空白处暂停翻页', '左键双击网页空白处暂停翻页', false] - ], menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, SiteType, pausePage = true, pageNum = {now: 1, _now: 1}, locationChange = false, nowLocation = '', forumWebsite = ['cs.rin.ru', 'www.flyert.com', 'bbs.pediy.com', 'www.libaclub.com', 'tieba.baidu.com', 'www.cadtutor.net', 'www.theswamp.org', 'www.xuexiniu.com', 'bbs.xuexiniu.com']; + ], menuId = [], webType = 0, curSite = {SiteTypeID: 0}, DBSite, SiteType, pausePage = true, pageNum = {now: 1, _now: 1}, locationChange = false, nowLocation = '', forumWebsite = ['cs.rin.ru', 'www.flyert.com', 'bbs.pediy.com', 'www.libaclub.com', 'tieba.baidu.com', 'www.cadtutor.net', 'www.theswamp.org', 'www.xuexiniu.com', 'bbs.xuexiniu.com', 'www.taoguba.com.cn']; for (let i=0;i -1) { + curSite = DBSite.taoguba_t; + } else if (location.pathname.indexOf('/shenghuoba/') > -1) { + curSite = DBSite.taoguba_; + } else if (/\/bbs|zongban|dianzan|jinghua\//.test(location.pathname)) { + curSite = DBSite.taoguba; + }}, + pager: { + type: 1, + nextL: function() { + let next = getXpath('//div[contains(@class, "t_page01")]/a[contains(text(), "下一页")]'), next_ = '/'; + if (next) { + next = next.getAttribute('onclick').replace('gotoPage(','').replace(')','').split(','); + if (/\/dianzan|jinghua\//.test(location.pathname)) next_ = '-'; + if (parseInt(next[0]) <= parseInt(next[2])) {return (`${location.origin}/${location.pathname.split('/')[1]}/${next[0]}${next_}${next[1]}`)} + } + return ''; + }, + pageE: 'css;.p_list > .p_list01[class*="user_"]', + insertP: ['//div[@class="p_list"][./div[contains(@class, "user_")]]', 3], + replaceE: 'css;.t_page', + scrollD: 1000 + } + }, // 淘股吧论坛 + taoguba_: { + pager: { + type: 1, + nextL: function() { + let next = getCSS('#N_go_pageBtn'), next_ = location.pathname.split('/')[2].split('-')[0]; + if (next && (parseInt(next.dataset.now) + 1 <= parseInt(next.dataset.total))) { + if (!next_) next_ = 'H'; + return (`${location.origin}/shenghuoba/${next_}-${parseInt(next.dataset.now) + 1}`) + } + return ''; + }, + pageE: 'css;.lifeContent-topicList-item', + insertP: ['//div[@class="lifeContent-topicList"]//div[@class="lifeContent-topicList-item"][last()]', 4], + replaceE: 'css;.N_sortPage ', + scrollD: 1000 + } + }, // 淘股吧论坛 - 生活圈 + taoguba_t: { + pager: { + type: 1, + nextL: function() { + let next = getXpath('//div[contains(@class, "t_page01")]/a[contains(text(), "下一页")]'); + if (next) { + next = next.getAttribute('onclick').replace('gotoPageTopic(','').replace(')','').split(','); + if (parseInt(next[0]) <= parseInt(next[1])) {return (`${location.origin}/Article/${getCSS("#looktopicID").value}/${next[0]}`)} + } + return ''; + }, + pageE: 'css;div[id^="reply_"]', + insertP: ['css;#new_wrap_container', 3], + replaceE: 'css;.t_page', + scrollD: 1000 + }, + function: { + bF: src_bF, + pF: [0, 'img[data-original]', 'data-original'] + } + }, // 淘股吧论坛 - 帖子内 lowendtalk: { host: 'lowendtalk.com', pager: { From 98bc20a22a2c0588f9049b6619790b342678090a Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Wed, 17 Nov 2021 10:14:23 +0800 Subject: [PATCH 0004/1666] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20[PubMed]=20?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index a2766cf94..cdb0962c5 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.7 +// @version 3.4.8 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -4059,7 +4059,7 @@ pager: { type: 2, nextL: 'css;button.load-button.next-page', - nextText: 'Show more', + nextText: 'Show more results', scrollD: 1500 } }, // 学术 From df9ed26a633c17333c3a69537a9cf8bfc981f7f9 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Wed, 17 Nov 2021 12:31:46 +0800 Subject: [PATCH 0005/1666] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[=E5=8D=83?= =?UTF-8?q?=E5=BA=93=E7=BD=91]=E3=80=81[=E6=98=B5=E5=9B=BE=E7=BD=91]=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Autopage.user.js b/Autopage.user.js index cdb0962c5..e5c93ea89 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.8 +// @version 3.4.9 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -1344,6 +1344,38 @@ pF: [0, 'img[data-original]', 'data-original'] } }, // 千图网 - 专题/收藏夹 + _588ku: { + host: '588ku.com', + insStyle: '.listlogin-box.listloginBox, .CLdialogV1, .editIndexEntry, .globalRSideB {display: none !important;}', + pager: { + type: 1, + nextL: '//ul[contains(@class, "page-list")]//a[text()="下一页"]', + pageE: 'css;.data-box .dataList, .data-box .data-list', + insertP: ['css;.data-box .dataList, .data-box .data-list', 3], + replaceE: 'css;ul.page-list', + scrollD: 2000 + }, + function: { + bF: src_bF, + pF: [0, 'img[data-original]', 'data-original'] + } + }, // 千库网 + nipic: { + host: ['www.nipic.com', 'soso.nipic.com'], + insStyle: 'li.search-works-item {display: none !important;}', + pager: { + type: 1, + nextL: '//a[@title="下一页" or text()="下一页"][not(contains(@class, "search-works-nextpage"))]', + pageE: 'css;ul#img-list-outer > li', + insertP: ['css;ul#img-list-outer', 3], + replaceE: 'css;.common-page-box, .common-seo-page-box', + scrollD: 2000 + }, + function: { + bF: src_bF, + pF: [0, 'img[data-original]', 'data-original'] + } + }, // 昵图网 pixabay: { host: 'pixabay.com', pager: { From 3e18ad18e3386a97a5457d612b37ab1a2bc56411 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Thu, 18 Nov 2021 13:08:57 +0800 Subject: [PATCH 0006/1666] =?UTF-8?q?=E8=A1=A5=E5=85=85=20[=E6=BC=AB?= =?UTF-8?q?=E7=94=BB=E7=8C=AB]=E3=80=81[=E6=8B=B7=E8=B4=9D=E6=BC=AB?= =?UTF-8?q?=E7=94=BB]=20=E5=85=B6=E4=BB=96=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index e5c93ea89..8268e7a12 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.4.9 +// @version 3.5.0 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -364,7 +364,7 @@ } }, // 百度 搜素 google: { - host: /.google./, + host: /\.google\./, functionStart: function() {if (location.pathname === '/search') { curSite = DBSite.google; } else if (location.pathname === '/scholar') { @@ -2498,7 +2498,7 @@ } }, // 动漫狂 - 分类/搜索页 manhuacat: { - host: 'www.manhuacat.com', + host: ['www.manhuacat.com', 'www.maofly.com'], functionStart: function() {if (/\/manga\/\d+\/.+\.html/.test(location.pathname)) { if (getCookie('is_pull') == 'true') { // 强制关闭 [下拉] 模式 document.cookie='is_pull=false; expires=Thu, 18 Dec 2031 12:00:00 GMT; path=/'; // 写入 Cookie 关闭 [下拉] 模式 @@ -2702,7 +2702,7 @@ } }, //动漫之家 - 日漫 - 最新更新 copymanga: { - host: ['copymanga.com', 'www.copymanga.com'], + host: /copymanga\./, functionStart: function() {if (location.pathname.indexOf('/chapter/') > -1) { curSite = DBSite.copymanga; } else if (location.pathname.indexOf('/comics') > -1) { @@ -4050,7 +4050,7 @@ } }, // 致美化 - 文章列表 lanzou: { - host: /\.lanzou[a-z]/, + host: /\.lanzou[a-z]\./, hiddenPN: true, pager: { type: 2, @@ -4586,7 +4586,7 @@ } }, // 妹子图 - 分类/搜索页 xiurenji: { - host: /.xiurenji./, + host: /\.xiurenji\./, functionStart: function() {insStyle('img[src$=".gif"]:not([src*="logo"]) {display: none !important;}'); if (location.pathname.indexOf('.html') > -1 && location.pathname.indexOf('/index') === -1) { curSite = DBSite.xiurenji; From bf556d763ae6601a4b979be05bd3ae54e2cb08c6 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Thu, 18 Nov 2021 17:43:52 +0800 Subject: [PATCH 0007/1666] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E5=8A=A0?= =?UTF-8?q?=E9=80=9F=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GithubEnhanced-High-Speed-Download.user.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/GithubEnhanced-High-Speed-Download.user.js b/GithubEnhanced-High-Speed-Download.user.js index 50843bf7e..2e336f99a 100644 --- a/GithubEnhanced-High-Speed-Download.user.js +++ b/GithubEnhanced-High-Speed-Download.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Github 增强 - 高速下载 -// @version 1.6.5 +// @version 1.6.6 // @author X.I.U // @description 高速下载 Git Clone/SSH、Release、Raw、Code(ZIP) 等文件、项目列表单文件快捷下载 (☁) // @match *://github.com/* @@ -45,9 +45,8 @@ ['https://gh.api.99988866.xyz', '美国 1'], ['https://github.91chifun.workers.dev', '美国 2'], ['https://gh.xiu2.xyz', '美国 3'], - ['https://gh.argv.cc', '美国 4'], + ['https://github.rc1844.workers.dev', '美国 4'], ['https://pd.zwc365.com/seturl', '美国 5'], - ['https://git.yumenaka.net', '美国 6'], ['https://download.fastgit.org', '日本'], ['https://ghproxy.com', '韩国'] ], @@ -64,8 +63,7 @@ ['https://raw.githubusercontent.com', 'Github 原生',''], ['https://cdn.jsdelivr.net','中国国内', '注意:该加速源存在缓存机制(24小时),所以文件可能不是最新。 注意:当前分支所有文件总文件大小超过 50MB 时,该加速源不可用。 注意:当前分支名为版本号格式时(如 v1.2.3),该高速下载链接因格式限制不可用。'], ['https://raw.fastgit.org','中国香港', '注意:单个文件太大时可能会提示超时(实时获取中),请重试。'], - ['https://cdn.staticaly.com','日本东京', '注意:该加速是全球 Anycast CDN,国内一般分配到日本节点。'], - ['https://ghproxy.com','韩国首尔', ''] + ['https://cdn.staticaly.com','日本东京', '注意:该加速是全球 Anycast CDN,国内一般分配到日本节点。'] ], svg = [ '', @@ -145,7 +143,8 @@ _html = `
    `; for (let i=0;i`; for (let i=0;i Date: Thu, 18 Nov 2021 18:12:51 +0800 Subject: [PATCH 0008/1666] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81;=20=E7=A7=BB=E9=99=A4=20=E6=97=A7=E7=89=88=20Release?= =?UTF-8?q?=20=E6=A0=B7=E5=BC=8F=E7=9A=84=E6=94=AF=E6=8C=81=20(Github=20?= =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E5=85=A8=E6=9B=B4=E6=96=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GithubEnhanced-High-Speed-Download.user.js | 138 +++++---------------- 1 file changed, 34 insertions(+), 104 deletions(-) diff --git a/GithubEnhanced-High-Speed-Download.user.js b/GithubEnhanced-High-Speed-Download.user.js index 2e336f99a..70e68fd49 100644 --- a/GithubEnhanced-High-Speed-Download.user.js +++ b/GithubEnhanced-High-Speed-Download.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Github 增强 - 高速下载 -// @version 1.6.6 +// @version 1.6.7 // @author X.I.U // @description 高速下载 Git Clone/SSH、Release、Raw、Code(ZIP) 等文件、项目列表单文件快捷下载 (☁) // @match *://github.com/* @@ -21,34 +21,28 @@ (function() { 'use strict'; - var backColor = '#ffffff'; - var fontColor = '#888888'; + var backColor = '#ffffff', fontColor = '#888888'; if (document.getElementsByTagName('html')[0].getAttribute('data-color-mode') === 'dark') { // 黑暗模式判断 if (document.getElementsByTagName('html')[0].getAttribute('data-dark-theme') === 'dark_dimmed') { - backColor = '#272e37'; - fontColor = '#768390'; + backColor = '#272e37'; fontColor = '#768390'; } else { - backColor = '#161a21'; - fontColor = '#97a0aa'; + backColor = '#161a21'; fontColor = '#97a0aa'; } } else if (document.getElementsByTagName('html')[0].getAttribute('data-color-mode') === 'auto') { - //console.log(window.getComputedStyle(document.body).backgroundColor) if (window.getComputedStyle(document.body).backgroundColor === 'rgb(34, 39, 46)') { - backColor = '#272e37'; - fontColor = '#768390'; + backColor = '#272e37'; fontColor = '#768390'; } else if (window.getComputedStyle(document.body).backgroundColor === 'rgb(13, 17, 23)') { - backColor = '#161a21'; - fontColor = '#97a0aa'; + backColor = '#161a21'; fontColor = '#97a0aa'; } } const download_url = [ - ['https://gh.api.99988866.xyz', '美国 1'], - ['https://github.91chifun.workers.dev', '美国 2'], - ['https://gh.xiu2.xyz', '美国 3'], + ['https://gh.api.99988866.xyz/https://github.com', '美国 1'], + ['https://github.91chifun.workers.dev/https://github.com', '美国 2'], + ['https://gh.xiu2.xyz/https://github.com', '美国 3'], ['https://github.rc1844.workers.dev', '美国 4'], - ['https://pd.zwc365.com/seturl', '美国 5'], + ['https://pd.zwc365.com/seturl/https://github.com', '美国 5'], ['https://download.fastgit.org', '日本'], - ['https://ghproxy.com', '韩国'] + ['https://ghproxy.com/https://github.com/', '韩国'] ], clone_url = [ ['https://hub.fastgit.org', '中国香港'], @@ -132,89 +126,28 @@ // Release function addRelease() { - let html = document.getElementsByClassName('Box-footer');//if (html.length == 0) return + let html = document.getElementsByClassName('Box-footer'); if (html.length == 0) return let divDisplay = ''; - if (html.length > 0) { - if (document.documentElement.clientWidth > 1000) {divDisplay = 'float: right;margin-top: -3px;margin-left: 8px;';}; // 调整小屏幕下样式 - Array.from(html).forEach(function (current) { - current.querySelectorAll('li.Box-row > a').forEach(function (_this) { - let href = _this.href.split(location.host), - url = [], - _html = `
    `; - - for (let i=0;i${download_url[i][1]}` - } - _html += `
    ` - _this.insertAdjacentHTML('afterend', _html); - }); + if (document.documentElement.clientWidth > 1000) {divDisplay = 'float: right;margin-top: -3px;margin-left: 8px;';}; // 调整小屏幕时的样式 + Array.from(html).forEach(function (current) { + current.querySelectorAll('li.Box-row > a').forEach(function (_this) { + let href = _this.href.split(location.host), + url = [], + _html = `
    `; + // 循环组合 URL 链接 + for (let i=0;i -1) url[i] = url[i].replace('https://download.fastgit.org','https://archive.fastgit.org') + } + // 循环生成 HTML 标签 + for (let i=0;i${download_url[i][1]}` + } + _html += `
    ` + _this.insertAdjacentHTML('afterend', _html); }); - } else if (document.getElementsByClassName('Box Box--condensed').length > 0) { - html = document.getElementsByClassName('Box Box--condensed') - if (document.documentElement.clientWidth > 1000) {divDisplay = 'display: flex;';} else {divDisplay = 'display: block;';} - Array.from(html).forEach(function (current) { - current.querySelectorAll('.d-flex.Box-body > a').forEach(function (_this) { - let href = _this.href.split(location.host), - url = [], - _html = `
    `; - - for (let i=0;i${download_url[i][1]}` - } - _html += `
    ` - _this.nextElementSibling.insertAdjacentHTML('afterend', _html); - }); - // 修改[文件大小]元素样式 - document.querySelectorAll('.Box.Box--condensed small').forEach(el=>{el.style.cssText='display: flex; justify-content: flex-end; flex-grow: 1; margin-right: 8px;'}); - - - // Source Code - current.querySelectorAll('.d-block.Box-body > a').forEach(function (_this) { - let href = _this.href.split(location.host), - url = [], - _html = `
    `; - - for (let i=0;i${download_url[i][1]}` - } - _html += `
    ` - _this.insertAdjacentHTML('afterend', _html); - }); - }); - // 修改 Source code 样式,使其和加速按钮并列一排 - document.querySelectorAll('div.d-block.py-1.py-md-2.Box-body.px-2').forEach(el=>{el.className='d-flex py-1 py-md-2 Box-body px-2'}); - } else { - return - } + }); } @@ -227,12 +160,9 @@ _html = ``; for (let i=0;i -1) url[i] = url[i].replace('https://download.fastgit.org','https://archive.fastgit.org') } for (let i=0;i Date: Fri, 19 Nov 2021 10:59:01 +0800 Subject: [PATCH 0009/1666] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[=E6=BC=AB?= =?UTF-8?q?=E7=94=BB=E6=9F=9C]=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 131 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 105 insertions(+), 26 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index 8268e7a12..490d946db 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.5.0 +// @version 3.5.1 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -2585,6 +2585,42 @@ scrollD: 1500 } }, // 漫画台 - 搜索页 + manhuagui: { + host: 'www.mhgui.com', + functionStart: function() {if (/\/comic\/\d+\/\d+\.html/.test(location.pathname)) { + if (!getXpath('//li[@class="pfunc"]/a[@class="current" and text()="双击"]')) getXpath('//li[@class="pfunc"]/a[text()="双击"]').click(); + pausePage = false; + setTimeout(manhuagui_init, 100); + curSite = DBSite.manhuagui; + } else if (location.pathname.indexOf('list/') > -1 || location.pathname.indexOf('/s/') > -1) { + curSite = DBSite.manhuagui_list; + }}, + insStyle: '.sub-btn, .tc {display: none !important;} #mangaBox > img {width: auto !important;height: auto !important;display: block !important;margin: 0 auto !important;}', + pager: { + type: 4, + nextL: manhuagui_nextL, + pageE: 'css;body > script:not([src])', + insertP: ['css;#mangaBox', 3], + insertE: manhuagui_insertE, + replaceE: 'css;title', + interval: 4000, + scrollD: 2500 + } + }, // 漫画柜 + manhuagui_list: { + pager: { + type: 1, + nextL: '//div[@class="pager"]/a[text()="下一页"]', + pageE: 'css;.book-result > ul > li, .book-list > ul > li', + insertP: ['css;.book-result > ul, .book-list > ul', 3], + replaceE: 'css;.pager', + scrollD: 1500 + }, + function: { + bF: src_bF, + pF: [0, 'img[data-src]', 'data-src'] + } + }, // 漫画台 - 分类/搜索页 manhuadb: { host: 'www.manhuadb.com', functionStart: function() {if (/\/manhua\/\d+\/.+\.html/.test(location.pathname)) { @@ -5287,7 +5323,7 @@ _img += ``; } getCSS('.img-content > img').remove(); - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [漫画猫] 获取下一页地址 @@ -5330,13 +5366,60 @@ _img += ``; } if (_img) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } } + // [漫画柜] 初始化(将本话其余图片插入网页中) + function manhuagui_init() { + // hook imgDate 代码 + SMH.imgData = function(n) {window['imgDate'] = n;return{preInit:function(){}}} + // 重新执行本页的 imgDate 代码 + insScriptAll(curSite.pager.pageE); + let _img = '', imgPath = `${location.protocol}//i.hamreus.com${window['imgDate'].path}`; + //console.log(imgPath, window['imgDate']) + if (!(window['imgDate']) || !(imgPath)) return + // 遍历图片文件名数组,组合为 img 标签 + for (let i = 0; i < window['imgDate'].files.length; i++) { + _img += `` + } + // 插入并覆盖原来的一个图片 + getOne(curSite.pager.insertP[0]).innerHTML = _img; + pausePage = true; + } + // [漫画柜] 获取下一页地址 + function manhuagui_nextL() { + if (window['imgDate'].nextId == 0) return + var url = location.origin + location.pathname.replace(window['imgDate'].cid.toString(), window['imgDate'].nextId.toString()) + if (url === curSite.pageUrl) return + curSite.pageUrl = url + getPageElems(curSite.pageUrl); + } + // [漫画柜] 插入数据 + function manhuagui_insertE(pageElems, type) { + if (!pageElems) return + // 重新执行本页的 imgDate 代码 + insScriptAll(curSite.pager.pageE, document.body, pageElems); + let _img = '', imgPath = `${location.protocol}//i.hamreus.com${window['imgDate'].path}`; + //console.log(imgPath, window['imgDate']) + if (!(window['imgDate']) || !(imgPath)) return + // 遍历图片文件名数组,组合为 img 标签 + for (let i = 0; i < window['imgDate'].files.length; i++) { + _img += `` + } + // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); + // 添加历史记录 + window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); + document.title = pageElems.querySelector('title').textContent; + // 当前页码 + 1 + pageNum.now = pageNum._now + 1 + } + + // [漫画DB] 初始化(将本话其余图片插入网页中) function manhuadb_init() { let _img = '', @@ -5351,7 +5434,7 @@ let src = data.dataset.host + data.dataset.img_pre + json[i].img; _img += `` } - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } } }) @@ -5395,7 +5478,7 @@ if (src.indexOf('!p_c_c_') === -1) src += '!p_c_c_h' _img += `` }) - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 window.document.title = window.document.title.replace(/(\(第.+\))? - HiComic/, `(${getCSS('.chapter_name').textContent}) - HiComic`); // 修改网页标题(加上 第 X 话) } // [HiComic(嗨漫画)] 获取下一页地址 @@ -5426,7 +5509,7 @@ if (src.indexOf('!p_c_c_') === -1) src += '!p_c_c_h'; _img += `` } - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } @@ -5439,7 +5522,7 @@ _img += ``; one.parentElement.remove(); }) - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [动漫之家] 获取下一页地址 @@ -5469,7 +5552,7 @@ _img += ``; } if (_img) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5495,7 +5578,7 @@ _img += ``; one.parentElement.parentElement.remove(); }) - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [动漫之家-漫画] 获取下一页地址 @@ -5520,7 +5603,7 @@ _img += ``; } if (_img) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5631,7 +5714,7 @@ } if (_img) { // 将 img 标签插入到网页中 - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5671,7 +5754,7 @@ // 插入图片 setTimeout(function() { - getCSS(curSite.pager.insertP[0].replace('css;', '')).appendChild(document.createElement('img')).src = mhpicurl; + getOne(curSite.pager.insertP[0]).appendChild(document.createElement('img')).src = mhpicurl; // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5702,7 +5785,7 @@ _img += ``; } } - getCSS(curSite.pager.insertP[0].replace('css;', '')).innerHTML = _img; + getOne(curSite.pager.insertP[0]).innerHTML = _img; } // [乐语漫画] 获取下一页地址 @@ -5732,7 +5815,7 @@ } if (_img) { // 将 img 标签插入到网页中 - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 添加历史记录 window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); @@ -5754,7 +5837,7 @@ // [古风漫画网] 获取下一页地址 function gufengmh_nextL() { - let pageElems = getCSS(curSite.pager.pageE.replace('css;', '')); // 寻找数据所在元素 + let pageElems = getOne(curSite.pager.pageE); // 寻找数据所在元素 if (pageElems) { let comicUrl, nextId; var url = ''; @@ -5780,7 +5863,7 @@ let url = curSite.pageUrl; pageElems = getOne(curSite.pager.pageE, pageElems, pageElems); let chapterImages, chapterPath; - getCSS(curSite.pager.pageE.replace('css;', '')).innerText = pageElems.textContent; // 将当前网页内的数据所在元素内容改为刚刚获取的下一页数据内容,以便循环获取下一页 URL + getOne(curSite.pager.pageE).innerText = pageElems.textContent; // 将当前网页内的数据所在元素内容改为刚刚获取的下一页数据内容,以便循环获取下一页 URL pageElems.textContent.split(';').forEach(function (one){ // 分号 ; 分割为数组并遍历 //console.log(one) if (one.indexOf('chapterImages') > -1) { // 图片文件名数组 @@ -5798,7 +5881,7 @@ chapterImages.forEach(function (one2){ // 遍历图片文件名数组,组合为 img 标签 _img += '' }) - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 当前页码 + 1 pageNum.now = pageNum._now + 1 } @@ -5860,7 +5943,7 @@ _img += ``; } if (_img) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 MANGABZ_PAGE += imgArr.length; @@ -5919,7 +6002,7 @@ _img += ``; } if (_img) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 // 添加历史记录 XMANHUA_PAGE += imgArr.length; @@ -5954,7 +6037,7 @@ function cocomanga_init() { let last = getCSS('.mh_comicpic:last-of-type'); if (last && last.getAttribute('p')) { - getCSS(curSite.pager.insertP[0].replace('css;', '')).innerHTML = ''; // 删除旧图片元素 + getOne(curSite.pager.insertP[0]).innerHTML = ''; // 删除旧图片元素 cocomanga_img(parseInt(last.getAttribute('p'))) // 插入新图片元素 } } @@ -5965,7 +6048,7 @@ for (let i=1; i<=totalImageCount; i++) { _img += `
    `; } - getCSS(curSite.pager.insertP[0].replace('css;', '')).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } // [COCOMANGA 漫画] 获取下一页地址 function cocomanga_nextL() { @@ -6231,11 +6314,7 @@ if (typeof curSite.pager.nextL == 'function') { url = curSite.pager.nextL(); } else { - if (curSite.pager.nextL.slice(0,4) === 'css;') { - url = this.getFullHref(getCSS(curSite.pager.nextL.slice(4))); - } else { - url = this.getFullHref(getXpath(curSite.pager.nextL)); - } + url = this.getFullHref(getOne(curSite.pager.nextL)); } //console.log(url, curSite.pageUrl); if (url === '') return; From 70b40912d5ba4482dbf8da0c7ab24723f54d5927 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Fri, 19 Nov 2021 22:07:45 +0800 Subject: [PATCH 0010/1666] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20[Raw=20=E5=BF=AB?= =?UTF-8?q?=E6=8D=B7=E4=B8=8B=E8=BD=BD(=E2=98=81)]=20=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?(Github=20=E6=9B=B4=E6=96=B0=E4=BA=86=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GithubEnhanced-High-Speed-Download.user.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/GithubEnhanced-High-Speed-Download.user.js b/GithubEnhanced-High-Speed-Download.user.js index 70e68fd49..5c852943c 100644 --- a/GithubEnhanced-High-Speed-Download.user.js +++ b/GithubEnhanced-High-Speed-Download.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Github 增强 - 高速下载 -// @version 1.6.7 +// @version 1.6.8 // @author X.I.U // @description 高速下载 Git Clone/SSH、Release、Raw、Code(ZIP) 等文件、项目列表单文件快捷下载 (☁) // @match *://github.com/* @@ -245,7 +245,7 @@ var mouseOverHandler = function(evt) { let elem = evt.currentTarget, aElm_new = elem.querySelectorAll('.fileDownLink'), - aElm_now = elem.querySelectorAll('svg.octicon.octicon-file.color-icon-tertiary'); + aElm_now = elem.querySelectorAll('svg.octicon.octicon-file'); aElm_new.forEach(el=>{el.style.cssText = 'display: inline'}); aElm_now.forEach(el=>{el.style.cssText = 'display: none'}); }; @@ -254,7 +254,7 @@ var mouseOutHandler = function(evt) { let elem = evt.currentTarget, aElm_new = elem.querySelectorAll('.fileDownLink'), - aElm_now = elem.querySelectorAll('svg.octicon.octicon-file.color-icon-tertiary'); + aElm_now = elem.querySelectorAll('svg.octicon.octicon-file'); aElm_new.forEach(el=>{el.style.cssText = 'display: none'}); aElm_now.forEach(el=>{el.style.cssText = 'display: inline'}); }; @@ -263,7 +263,7 @@ files.forEach(function(fileElm, i) { let trElm = fileElm.parentNode.parentNode, cntElm_a = trElm.querySelector('.css-truncate.css-truncate-target.d-block.width-fit a'), - cntElm_svg = trElm.querySelector('.mr-3.flex-shrink-0 svg.octicon.octicon-file.color-icon-tertiary'), + cntElm_svg = trElm.querySelector('.mr-3.flex-shrink-0 svg.octicon.octicon-file'), Name = cntElm_a.innerText, href = cntElm_a.attributes.href.nodeValue.replace(`https://${location.host}`,''); let href2 = href.replace('/blob/','/'), url, url_name, url_tip = ''; @@ -307,7 +307,7 @@ var mouseOverHandler = function(evt) { let elem = evt.currentTarget, aElm_new = elem.querySelectorAll('.fileDownLink'), - aElm_now = elem.querySelectorAll('svg.octicon.octicon-file.color-icon-tertiary'); + aElm_now = elem.querySelectorAll('svg.octicon.octicon-file'); aElm_new.forEach(el=>{el.style.cssText = 'display: inline'}); aElm_now.forEach(el=>{el.style.cssText = 'display: none'}); }; @@ -316,7 +316,7 @@ var mouseOutHandler = function(evt) { let elem = evt.currentTarget, aElm_new = elem.querySelectorAll('.fileDownLink'), - aElm_now = elem.querySelectorAll('svg.octicon.octicon-file.color-icon-tertiary'); + aElm_now = elem.querySelectorAll('svg.octicon.octicon-file'); aElm_new.forEach(el=>{el.style.cssText = 'display: none'}); aElm_now.forEach(el=>{el.style.cssText = 'display: inline'}); }; From a21badca2b62e2d7ae92d827e301cf31fc720315 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Fri, 19 Nov 2021 22:08:02 +0800 Subject: [PATCH 0011/1666] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[X-MOL=20-=20?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E9=A1=B5]=20=E6=94=AF=E6=8C=81;=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85=20[=E6=BC=AB=E7=94=BB=E6=98=9F=E7=90=83]=20=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E5=9F=9F=E5=90=8D;=20=E4=BC=98=E5=8C=96=20=E5=A4=A7?= =?UTF-8?q?=E9=87=8F=E8=A7=84=E5=88=99;=20=E4=BC=98=E5=8C=96=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Autopage.user.js | 866 +++++++++++++++-------------------------------- 1 file changed, 271 insertions(+), 595 deletions(-) diff --git a/Autopage.user.js b/Autopage.user.js index 490d946db..98b2b3c61 100644 --- a/Autopage.user.js +++ b/Autopage.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 自动无缝翻页 -// @version 3.5.1 +// @version 3.5.2 // @author X.I.U // @description 无缝拼接下一页内容(瀑布流),目前支持:[所有「Discuz!、Flarum、phpBB、Xiuno、XenForo、DUX/XIU/D8/Begin(WP主题)」网站]、百度、谷歌、必应、搜狗、头条搜索、360 搜索、微信搜索、贴吧、豆瓣、微博、NGA、V2EX、B 站(Bilibili)、蓝奏云、煎蛋网、糗事百科、龙的天空、起点小说、IT之家、千图网、Pixabay、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、片库、茶杯狐、NO视频、低端影视、奈菲影视、音范丝、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、极简插件、小众软件、动漫狂、漫画猫、漫画 DB、动漫之家、拷贝漫画、包子漫画、古风漫画网、Mangabz、PubMed、GreasyFork、Github、StackOverflow(以上仅一小部分,更多的写不下了... // @match *://*/* @@ -97,6 +97,8 @@ scrollD: = 基准元素 - 可视区域底部 4 = 动态加载类网站(只能实现简单的) insertE: 插入元素的函数 + 5 = 插入 iframe 方式来加载下一页 + insStyle: 加载 iframe 前要插入的 CSS Style 样式 nextL: 下一页链接所在元素 pageE: 要获取的主体内容 insertP: 主体内容插入的位置 @@ -475,7 +477,7 @@ }, }, // DuckDuckGo 搜索 startpage: { - host: 'www.startpage.com', + host: ['startpage.com', 'www.startpage.com'], functionStart: function() {if (location.pathname.indexOf('/search') > -1) {curSite = DBSite.startpage;}}, pager: { type: 1, @@ -577,15 +579,17 @@ scrollD: 2000 }, function: { - bF: baidu_tieba_bF + bF: src_bF, + pF: [0, 'img[data-original]', 'data-original'] } }, // 百度贴吧 - 帖子列表 baidu_tieba_post: { insStyle: '.d_sign_split, img.j_user_sign, .d_author .d_pb_icons, .save_face_bg, .save_face_bg_2, li.d_name a.icon_tbworld, .lzl_cnt a.icon_tbworld {display: none !important;} a.p_author_face.j_frame_guide {background: none repeat scroll 0 0 #FFF !important;border: 1px solid #CCC !important;padding: inherit !important;} .red_text, .red-text, .vip_red, .vip-red, .vip_red:hover, .vip-red:hover, .vip_red:visited, .vip-red:visited {color: #2d64b3 !important;}', // 签名、印记、头像边框、VIP 元素 hiddenPN: true, pager: { - type: 4, - nextL: baidu_tieba_post_nextL, + type: 5, + nextL: '//li[contains(@class,"pb_list_pager")]/a[contains(text(),"下一页")]', + insStyle: '.topic_list_box, ul.tbui_aside_float_bar, .core_title_wrap_bright.tbui_follow_fixed.core_title_absolute_bright {display: none !important;}', scrollD: 1500 } }, // 百度贴吧 - 帖子内 @@ -742,7 +746,7 @@ scrollD: 1000 }, function: { - aF: nga_thread_aF + aF: function() {document.body.appendChild(document.createElement('script')).textContent = 'commonui.topicArg.loadAll();';} } }, // NGA - 各版块帖子列表 nga_read: { @@ -758,20 +762,20 @@ }, // NGA - 帖子内 v2ex_recent: { host: ['v2ex.com', 'www.v2ex.com'], - functionStart: function() {if (location.pathname === '/') { // 首页 + functionStart: function() {if (location.pathname === '/') { v2ex_aF('#Main a.topic-link:not([target])'); - } else if (location.pathname === '/recent') { // 最近主题页 + } else if (location.pathname === '/recent') { curSite = DBSite.v2ex_recent; v2ex_aF('#Main a.topic-link:not([target])'); - } else if (location.pathname === '/notifications') { // 提醒消息页 + } else if (location.pathname === '/notifications') { curSite = DBSite.v2ex_notifications; v2ex_aF('#Main a[href^="/t/"]:not([target])'); - } else if (location.pathname === '/balance') { // 账户余额页 + } else if (location.pathname === '/balance') { curSite = DBSite.v2ex_balance; - } else if (location.pathname.indexOf('/go/') > -1) { // 分类主题页 + } else if (location.pathname.indexOf('/go/') > -1) { curSite = DBSite.v2ex_go; v2ex_aF('#Main a.topic-link:not([target])'); - } else if (location.pathname.indexOf('/replies') > -1) { // 用户回复页 + } else if (location.pathname.indexOf('/replies') > -1) { curSite = DBSite.v2ex_replies; v2ex_aF('#Main a[href^="/t/"]:not([target])'); }}, @@ -1575,7 +1579,7 @@ host: 'mod.3dmgame.com', pager: { type: 1, - nextL: _3dmgame_mod_nextL, + nextL: function() {return getPage_nextL('//li[@class="page-list active"]/following-sibling::li[contains(@class, "page-list")]/a', 'Page=', /Page=\d+/)}, pageE: '//div[contains(@class, "game-mod-list") or contains(@class, "search-mod-list")] | //script[not(@src or @type)][contains(text(), ".game-mod-page") or contains(text(), ".search-mod-page")]', insertP: ['//div[contains(@class, "game-mod-wrap") or contains(@class, "search-mod ")]', 3], scriptT: 2, @@ -2385,10 +2389,11 @@ functionStart: function() {if (location.pathname != '/') {curSite = DBSite.assrt;};}, pager: { type: 1, - nextL: assrt_nextL, - pageE: 'css;.resultcard > div:not(#top-banner):not(#bottom-banner)', + nextL: function() {return getPage_nextL('css;#pl-current+a', 'page=', /page=\d+/);}, + pageE: 'css;.resultcard > div:not(#top-banner):not(#bottom-banner):not(.pagelinkcard)', insertP: ['css;.pagelinkcard', 1], replaceE: 'css;.pagelinkcard', + history: true, scrollD: 1000 } }, // 射手网(字幕) @@ -2666,7 +2671,7 @@ document.cookie='display_mode=1; expires=Thu, 18 Dec 2031 12:00:00 GMT; path=/'; // 写入 Cookie 开启 [上下滚动阅读] 模式 location.reload(); // 刷新网页 } - setTimeout(dmzj_init, 100); + setTimeout(function() {dmzj_init('.comic_wraCon > a > img')}, 100); curSite = DBSite.dmzj; } else if (location.pathname.indexOf('/category') > -1 || location.pathname.indexOf('/update') > -1) { curSite = DBSite.dmzj_list; @@ -2676,7 +2681,7 @@ insStyle: 'p.mh_curr_page, .btmBtnBox, .float_code, #floatCode {display: none !important;} .comic_wraCon > img {display: block !important;margin: 0 auto !important; border: none !important; padding: 0 !important; max-width: 99% !important; height: auto !important;}', // 隐藏中间的页数信息 pager: { type: 4, - nextL: dmzj_nextL, + nextL: 'css;span.next > a', insertP: ['css;.comic_wraCon', 3], insertE: dmzj_insertE, replaceE: 'css;.wrap_last_mid, .wrap_last_head, title', @@ -2711,7 +2716,7 @@ functionStart: function() {if (/\/\d+\.shtml/.test(location.pathname)) { let chapterScroll = getCSS('#qiehuan_txt') // 强制为 [上下滚动阅读] 模式 if (chapterScroll && chapterScroll.textContent === '切换到上下滚动阅读') {chapterScroll.click();} - setTimeout(dmzj_manhua_init, 100); + setTimeout(function() {dmzj_init('#center_box > .inner_img img[src]')}, 100); curSite = DBSite.dmzj_manhua; } else if (location.pathname.indexOf('/update') > -1) { curSite = DBSite.dmzj_manhua_update; @@ -2719,7 +2724,7 @@ insStyle: 'p.curr_page, .btmBtnBox, .float_code, #floatCode {display: none !important;} #center_box > img {display: block !important;margin: 0 auto !important; border: none !important; padding: 0 !important; max-width: 99% !important; height: auto !important;}', // 隐藏中间的页数信息 pager: { type: 4, - nextL: dmzj_manhua_nextL, + nextL: 'css;#next_chapter', insertP: ['css;#center_box', 3], insertE: dmzj_manhua_insertE, replaceE: 'css;.display_graybg, title', @@ -2748,8 +2753,9 @@ hiddenPN: true, insStyle: '.upMember, .comicContainerAds, .footer {display: none !important;} body, html {height: auto !important;}', pager: { - type: 4, - nextL: copymanga_nextL, + type: 5, + nextL: 'css;.comicContent-next > a', + insStyle: 'h4.header, h4.header +div[style*="fixed"] {display: none !important;}', history: true, scrollD: 3000 } @@ -2769,7 +2775,7 @@ } }, // 拷贝漫画 - 分类页 mhxqiu: { - host: 'www.mhxqiu.com', + host: /\.mhxqiu/, functionStart: function() {if (/\/\d+\.html/.test(location.pathname)) { // 阅读页 curSite = DBSite.mhxqiu; } else if (/\/\d+\/$/.test(location.pathname)) { // 目录页 @@ -2780,7 +2786,7 @@ insStyle: '.imgFloat_1, .imgFloat_2, .main_control, span.comic-ft {display: none !important;} html, body, #mainView {height: auto !important;} body.view .main ul.comic-contain li{margin:0 auto !important;} .comic-contain .loaded{box-shadow: none !important;}', pager: { type: 4, - nextL: mhxqiu_nextL, + nextL: 'css;#mainControlNext', insertP: ['css;#comicContain', 3], insertE: mhxqiu_insertE, replaceE: 'css;.main_control, h1.chaptername_title, span.title-comicHeading, title', @@ -2801,10 +2807,10 @@ fffdm: { host: 'manhua.fffdm.com', functionStart: function() {if (location.pathname.split('/').length === 4) {curSite = DBSite.fffdm;}}, - insStyle: '#footer, #header {display: none !important;}', + insStyle: '#footer, #header {display: none !important;} #mhimg0 img {display: block !important;margin: 0 auto !important;}', pager: { type: 4, - nextL: fffdm_nextL, + nextL: '//a[contains(text(), "下一页") or contains(text(), "下一頁") or contains(text(), "下一话") or contains(text(), "下一話")]', insertP: ['css;#mhimg0', 3], insertE: fffdm_insertE, replaceE: 'css;.navigation, #weizhi, h1, title', @@ -2843,7 +2849,7 @@ insStyle: '.mh_select, .mh_comicpic > p, mh_headpager {display: none !important;} .mh_comicpic > img{width: 100% !important; height: auto !important;}', pager: { type: 4, - nextL: leyuman_nextL, + nextL: 'css;#xurl', insertP: ['css;.mh_comicpic', 3], insertE: leyuman_insertE, replaceE: 'css;.mh_headpager, .mh_readtitle, title', @@ -2916,7 +2922,8 @@ scrollD: 2000 }, function: { - bF: szcdmj_bF + bF: src_bF, + pF: [0, 'img[data-original]', 'data-original'] } }, // 砂之船动漫家 szcdmj_list: { @@ -2932,7 +2939,7 @@ mangabz: { host: ['mangabz.com', 'www.mangabz.com'], functionStart: function() {if (/\/m\d+/.test(location.pathname)) { - setTimeout(mangabz_init, 500); + setTimeout(mangabz_init, 1500); curSite = DBSite.mangabz; } else if (/\/\d+bz\//.test(location.pathname)) { if (getCSS('.detail-list-form-more')) getCSS('.detail-list-form-more').click(); @@ -2947,7 +2954,7 @@ insertE: mangabz_insertE, replaceE: 'css;p.top-title, body > .container > div:not([id]), title', interval: 500, - scrollD: 1000 + scrollD: 2000 } }, // Mangabz 漫画 mangabz_list: { @@ -2963,7 +2970,7 @@ xmanhua: { host: ['xmanhua.com', 'www.xmanhua.com'], functionStart: function() {if (/\/m\d+/.test(location.pathname)) { - setTimeout(mangabz_init, 500); + setTimeout(mangabz_init, 1500); curSite = DBSite.xmanhua; } else if (/\/\d+xm\//.test(location.pathname)) { if (getCSS('.detail-list-form-more')) getCSS('.detail-list-form-more').click(); @@ -2979,7 +2986,7 @@ insertE: xmanhua_insertE, replaceE: 'css;.reader-title, body > .container > div:not([id]), title', interval: 500, - scrollD: 1500 + scrollD: 2500 } }, // Xmanhua 漫画 xmanhua_list: { @@ -3008,10 +3015,10 @@ } else if (location.pathname === '/search') { curSite = DBSite.cocomanga_search; }}, - insStyle: '.mh_readend, .mh_footpager, .mh_readmode {display: none !important;} .mh_comicpic img {cursor: unset !important;}', + insStyle: '.mh_readend, .mh_footpager, .mh_readmode {display: none !important;} .mh_comicpic img {cursor: unset !important;} .mh_comicpic img {min-height: 150px;}', pager: { type: 4, - nextL: cocomanga_nextL, + nextL: '//a[contains(@class, "read_page_link") and contains(string(), "下一章")][not(contains(@href, "javascript"))]', insertP: ['css;#mangalist', 3], insertE: cocomanga_insertE, replaceE: 'css;.mh_readtitle, .mh_headpager > a.mh_prevbook, .mh_readend, head > title', @@ -3022,7 +3029,7 @@ cocomanga_list: { pager: { type: 1, - nextL: cocomanga_list_nextL, + nextL: function() {return getPage_nextL('css;.fed-page-info a.fed-btns-green+a[onclick]', 'page=', /page=\d+/)}, pageE: 'css;ul.fed-list-info > li', insertP: ['css;ul.fed-list-info', 3], replaceE: 'css;.fed-page-info', @@ -3036,7 +3043,7 @@ cocomanga_search: { pager: { type: 1, - nextL: cocomanga_list_nextL, + nextL: function() {return getPage_nextL('css;.fed-page-info a.fed-btns-green+a[onclick]', 'page=', /page=\d+/)}, pageE: 'css;dl.fed-deta-info', insertP: ['css;.fed-page-info', 1], replaceE: 'css;.fed-page-info', @@ -4146,12 +4153,12 @@ }, // 学术 x_mol: { host: 'www.x-mol.com', - functionStart: function() {if (location.pathname.indexOf('/search/q') > -1) {curSite = DBSite.x_mol;}}, + functionStart: function() {if (location.pathname.indexOf('/search/q') > -1 || location.pathname.indexOf('/paper/') > -1) {curSite = DBSite.x_mol;}}, pager: { type: 1, - nextL: x_mol_mod_nextL, - pageE: 'css;.magazine-senior-search-results-list > ul > li', - insertP: ['css;.magazine-senior-search-results-list > ul', 3], + nextL: function() {return getPage_nextL('css;.pagination li.active+li > a', 'pageIndex=', /pageIndex=\d+/)}, + pageE: 'css;.magazine-senior-search-results-list > ul > li, .magazine-model-content-new > ul > li', + insertP: ['css;.magazine-senior-search-results-list > ul, .magazine-model-content-new > ul', 3], replaceE: 'css;.pagination', history: true, scrollD: 2000 @@ -4853,6 +4860,7 @@ //console.log(curSite); pageLoading(); // 自动无缝翻页 + // -------------------------------------------------------- // [Discuz! 论坛] 判断各版块帖子列表类型 function discuzForum() { @@ -4921,48 +4929,33 @@ } - // 插入 Style 样式 - function insStyle(style) { - document.lastElementChild.appendChild(document.createElement('style')).textContent = style; - } - - - // 通用型插入前函数(加载图片) - function src_bF(pageElems, css) { - pageElems.forEach(function (one) { - if (css[0] == 0) { // src 图片 - one.querySelectorAll(css[1]).forEach(function (now) { - now.src = now.getAttribute(css[2]); - }); - } else if (css[0] == 1) { // 背景图片 - one.querySelectorAll(css[1]).forEach(function (now) { - now.style.backgroundImage = 'url("' + now.getAttribute(css[2]) + '")'; - }); - } - }); - return pageElems - } - - // [头条搜索] 的插入前函数(过滤相关搜索) function toutiao_bF(pageElems) { - for (let i = 0; i < pageElems.length; i++) { - let now = pageElems[i].querySelector('div[class*="-header"]') - if (now && now.textContent === '相关搜索') { - pageElems.splice(i,1) - } - } + if (getXpath('//div[contains(@class,"-header") and string()="相关搜索"]', pageElems[pageElems.length - 1])) pageElems[pageElems.length - 1].style.display = 'none'; return pageElems } // [Startpage] 获取下一页地址 function startpage_nextL() { - let form = getXpath('//div[contains(@class, "pagination ")]/form[./button[@class="pagination__next-prev-button next"]]'); + let form = getXpath('//div[contains(@class, "pagination ")]/form[./button[@class="pagination__next-prev-button next"]]'), value; if (form) { - let action = form.action, value = ''; // 获取提交表单 URL form.querySelectorAll('input[name]').forEach(function(input) {value += input.name + '=' + input.value + '&';}) // 生成表单参数 - value = encodeURI(value.replace(/&$/,'')); // 清理最后一个 & 符号,并替换页码 + value = encodeURI(value.replace(/&$/,'')); // 清理最后一个 & 符号 + if (form.action && value) return (form.action + '?' + value) + } + return ''; + } + + + // [SkrBT] 获取下一页地址 + function skrbt_nextL() { + let page = getCSS('a[onclick][aria-label="Next"]'); + if (page) {page = /(?<=\()\d+(?=\))/.exec(page.onclick)[0];} else {return '';} // 获取下一页页码 + if (page) { + let action = getCSS('#search-form').action, value = ''; // 获取提交表单 URL + getAllCSS('#search-form input[name]').forEach(function(input) {value += input.name + '=' + input.value + '&';}) // 生成表单参数 + value = encodeURI(value.replace(/&$/,'').replace(/p=\d+/,'p=' + page)); // 清理最后一个 & 符号,并替换页码 if (action && value) return (action + '?' + value) } return ''; @@ -4979,26 +4972,12 @@ if (button) { button.onclick = function(){ let button2 = getCSS('div.edui-btn.edui-btn-fullscreen.edui-btn-name-portrait'); - if (button2) { - button2.click(); - } else { - alert('提示:登录后才能发帖!'); - } + if (button2) {button2.click();} else {alert('提示:登录后才能发帖!');} return false; } } } } - // [百度贴吧] 的插入前函数(加载图片) - function baidu_tieba_bF(pageElems) { - pageElems.forEach(function (one) { - one.querySelectorAll('img.threadlist_pic[data-original]').forEach(function (now) { - now.src = now.dataset.original; - now.style.display = 'inline'; - }) - }); - return pageElems - } // [百度贴吧] 获取下一页地址 function baidu_tieba_nextL() { let next = getCSS('a.next.pagination-item'); @@ -5024,7 +5003,7 @@ // 字符串格式化并转为 Element 元素 var temp_baidu_tieba = document.createElement('div'); temp_baidu_tieba.innerHTML = JSON.parse(scriptText).content; // 插入前执行函数 - pageElems = curSite.function.bF(getAll(curSite.pager.pageE, temp_baidu_tieba, temp_baidu_tieba)); + pageElems = curSite.function.bF(getAll(curSite.pager.pageE, temp_baidu_tieba, temp_baidu_tieba), curSite.function.pF); // 插入元素 pageElems.forEach(function (one) {toElement.insertAdjacentElement(addTo, one);}); // 当前页码 + 1 @@ -5041,12 +5020,6 @@ } - // [NGA(玩家社区)] 的插入后函数(加载各版块帖子列表样式) - function nga_thread_aF() { - document.body.appendChild(document.createElement('script')).textContent = 'commonui.topicArg.loadAll();'; - } - - // [V2EX] 的插入后函数(新标签页打开链接) function v2ex_aF(css) { let links = getAllCSS(css);if (!links) return @@ -5060,10 +5033,6 @@ if (next && next.getAttribute('aria-disabled') === 'false') { page = getCSS('li.ant-pagination-item-active[title]'); if (page && page.title) { - if (curSite.pager.interval) { - let _SiteTypeID = curSite.SiteTypeID; curSite.SiteTypeID = 0; - setTimeout(function(){curSite.SiteTypeID = _SiteTypeID;}, curSite.pager.interval) - } return (location.origin + location.pathname + '?page=' + ++page.title); } } @@ -5071,53 +5040,9 @@ } - // [3DM MOD] 获取下一页地址 - function _3dmgame_mod_nextL() { - let nextNum = getXpath('//li[@class="page-list active"]/following-sibling::li[contains(@class, "page-list")]/a'); - var url = ''; - if (nextNum && nextNum.textContent) { - nextNum = 'Page=' + nextNum.textContent; - if (location.search) { - let search = location.search.replace(/(&)?Page=\d+(&)?/, ''); - if (search === '?') { - url += location.origin + location.pathname + search + nextNum; - } else { - url += location.origin + location.pathname + search + '&' + nextNum; - } - } else { - url += location.origin + location.pathname + '?' + nextNum; - } - } - //console.log(url) - return url - } - - - // [X-MOL] 获取下一页地址 - function x_mol_mod_nextL() { - let nextNum = getCSS('.pagination li.active+li > a'); - var url; - if (nextNum && nextNum.textContent) { - if (location.search) { - let search; - if (location.search.indexOf('pageIndex=') > -1) { - search = location.search.replace(/pageIndex=\d+/, 'pageIndex=' + nextNum.textContent); - } else { - search = location.search + '&pageIndex=' + nextNum.textContent; - } - url = location.origin + location.pathname + search; - } - } - //console.log(url) - return url - } - - // [游民星空-攻略] 的插入前函数(移除下一页底部的 "更多相关内容请关注:xxx" 文字) function gamersky_gl_bF(pageElems) { - pageElems.forEach(function (one) { - if (one.tagName === 'P' && one.textContent.indexOf('更多相关内容请关注') > -1) {one.style.display = 'none';} - }); + pageElems.forEach(function (one) {if (one.tagName === 'P' && one.textContent.indexOf('更多相关内容请关注') > -1) {one.style.display = 'none';}}); return pageElems } @@ -5236,31 +5161,14 @@ if (next && next.className.indexOf('disabled') === -1) { let oldList = getCSS('tbody.row-hover').innerHTML; if (oldList) { - // 点击下一页 next.click(); - // 当前页码 + 1 - pageNum.now = pageNum._now + 1 - // 插入到列表头部 - getCSS('tbody.row-hover').insertAdjacentHTML('afterbegin', oldList); + pageNum.now = pageNum._now + 1; + getCSS('tbody.row-hover').insertAdjacentHTML('afterbegin', oldList); // 插入到列表头部 } } } - // [SkrBT] 获取下一页地址 - function skrbt_nextL() { - let page = getCSS('a[onclick][aria-label="Next"]'); - if (page) {page = /(?<=\()\d+(?=\))/.exec(page.onclick)[0];} else {return '';} // 获取下一页页码 - if (page) { - let action = getCSS('#search-form').action, value = ''; // 获取提交表单 URL - getAllCSS('#search-form input[name]').forEach(function(input) {value += input.name + '=' + input.value + '&';}) // 生成表单参数 - value = encodeURI(value.replace(/&$/,'').replace(/p=\d+/,'p=' + page)); // 清理最后一个 & 符号,并替换页码 - if (action && value) return (action + '?' + value) - } - return ''; - } - - // [BTHaha] 的插入前函数(隐藏底部元素) function bthaha_bF(pageElems) { pageElems.forEach(function (one) { @@ -5271,20 +5179,6 @@ } - // [射手网] 获取下一页地址 - function assrt_nextL() { - let nextXPAHT = '//a[@id="pl-nav"][contains(text(), ">")]' - let url = getXpath(nextXPAHT); - if (url) { - url = /(?<=\()\d+(?=,)/.exec(url.href)[0] - if (url) { - return (location.origin + location.pathname + location.search.replace(/(&)?page=\d+$/,'') + '&page=' + url); - } - } - return ''; - } - - // [LRepacks] 的插入前函数(调整 class) function lrepacks_bF(pageElems) { pageElems.forEach(function (one) { @@ -5299,12 +5193,10 @@ // [漫画狂] 获取下一页地址 function cartoonmad_nextL() { - let nextXPAHT = '//a[@class="pages"][contains(text(),"下一頁")]', - nextPXPATH = '//a[@class="pages"][contains(string(),"下一話")]' - let url = getXpath(nextXPAHT); + let url = getXpath('//a[@class="pages"][contains(text(),"下一頁")]'); if (url) { if (url.getAttribute('href') === 'thend.asp') { - url = getXpath(nextPXPATH) + url = getXpath('//a[@class="pages"][contains(string(),"下一話")]') if (url) return url.href; pausePage = false; GM_notification({text: `注意:该网站早期漫画(如海贼王、柯南)因为网站自身问题而无法翻至下一话(仅限于显示为 [第 X 卷]/[下一卷] 的)。\n因此需要手动去 [目录页] 进入下一卷!`, timeout: 10000}); @@ -5319,11 +5211,8 @@ // [漫画猫] 初始化(显示本话所以图片) function manhuacat_init() { let _img = ''; - for (let now of img_data_arr) { - _img += ``; - } - getCSS('.img-content > img').remove(); - getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 + for (let now of img_data_arr) {_img += ``;} + getOne(curSite.pager.insertP[0]).innerHTML = _img; } // [漫画猫] 获取下一页地址 @@ -5347,27 +5236,14 @@ if (type === 'url') { // 获取下一页链接 manhuacat_nextL(pageElems, type); return } - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - } + addHistory(pageElems); + replaceElement(pageElems); // 插入图片 let _img = '', _img_arr = LZString.decompressFromBase64(getXpath('//body/script[not(@src)][contains(text(), "img_data")]').textContent.split('"')[1]).split(','), vg_r_data = getCSS('.vg-r-data');; - for (let now of _img_arr) { - _img += ``; - } + for (let now of _img_arr) {_img += ``;} if (_img) { getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - // 当前页码 + 1 pageNum.now = pageNum._now + 1 } } @@ -5383,9 +5259,7 @@ //console.log(imgPath, window['imgDate']) if (!(window['imgDate']) || !(imgPath)) return // 遍历图片文件名数组,组合为 img 标签 - for (let i = 0; i < window['imgDate'].files.length; i++) { - _img += `` - } + for (let i = 0; i < window['imgDate'].files.length; i++) {_img += ``;} // 插入并覆盖原来的一个图片 getOne(curSite.pager.insertP[0]).innerHTML = _img; pausePage = true; @@ -5407,39 +5281,29 @@ //console.log(imgPath, window['imgDate']) if (!(window['imgDate']) || !(imgPath)) return // 遍历图片文件名数组,组合为 img 标签 - for (let i = 0; i < window['imgDate'].files.length; i++) { - _img += `` - } - // 将 img 标签插入到网页中 + for (let i = 0; i < window['imgDate'].files.length; i++) {_img += ``;} getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - document.title = pageElems.querySelector('title').textContent; - // 当前页码 + 1 + addHistory(pageElems); pageNum.now = pageNum._now + 1 } - // [漫画DB] 初始化(将本话其余图片插入网页中) + // [漫画 DB] 初始化(将本话其余图片插入网页中) function manhuadb_init() { - let _img = '', - data = getCSS('.vg-r-data'), imgDate; + let _img = '', data = getCSS('.vg-r-data'), imgDate; if (!data) return getAllCSS(curSite.pager.pageE.replace('css;', '')).forEach(function (one) { if (one.tagName === 'SCRIPT' && one.textContent.indexOf('var img_data =') > -1) { let json = JSON.parse(window.atob(one.textContent.split("'")[1])); if (json) { let _img = ''; - for (let i = 0; i < json.length; i++) { // 遍历图片文件名数组,组合为 img 标签 - let src = data.dataset.host + data.dataset.img_pre + json[i].img; - _img += `` - } + for (let i = 0; i < json.length; i++) {_img += ``;} getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 } } }) } - // [漫画DB] 获取下一页地址 + // [漫画 DB] 获取下一页地址 function manhuadb_nextL() { let nextArr = getAllCSS('a.fixed-a-es'), next; var url = ''; @@ -5454,16 +5318,11 @@ curSite.pageUrl = url getPageElems(curSite.pageUrl); } - // [漫画DB] 插入数据 + // [漫画 DB] 插入数据 function manhuadb_insertE(pageElems, type) { if (!pageElems) return - let oriE = getAllCSS(curSite.pager.pageE.replace('css;', '')), - repE = getAll(curSite.pager.pageE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - // 当前页码 + 1 + if (replaceElement(pageElems, curSite.pager.pageE, curSite.pager.pageE)) { + addHistory(pageElems); pageNum.now = pageNum._now + 1 manhuadb_init(); // 将刚刚替换的图片插入网页中 } @@ -5499,10 +5358,9 @@ getCSS('.next_chapter').id = 'None'; getCSS('.next_chapter').classList.add('end'); } + curSite.pageUrl =`https://www.hicomic.net/chapters/${pageElems.results.chapter.uuid}/contents` getCSS('.chapter_name').textContent = pageElems.results.chapter.name; // 修改漫画标题 - let title = window.document.title.replace(/(\(第.+\))? - HiComic/, `(${pageElems.results.chapter.name}) - HiComic`) - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, title, curSite.pageUrl); // 添加历史记录 - window.document.title = title; // 修改当前网页标题为下一话的标题 + addHistory(pageElems, window.document.title.replace(/(\(第.+\))? - HiComic/, `(${pageElems.results.chapter.name}) - HiComic`)); let _img = ''; for (let i = 0; i < pageElems.results.chapter.contents.length; i++) { // 遍历图片文件名数组,组合为 img 标签 let src = pageElems.results.chapter.contents[i].url; @@ -5510,30 +5368,15 @@ _img += `` } getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - // 当前页码 + 1 pageNum.now = pageNum._now + 1 } // [动漫之家] 初始化(调整本话其余图片) - function dmzj_init() { + function dmzj_init(css) { let _img = ''; - getAllCSS('.comic_wraCon > a > img').forEach(function (one) { - _img += ``; - one.parentElement.remove(); - }) - getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - - } - // [动漫之家] 获取下一页地址 - function dmzj_nextL() { - let next; - next = getCSS('span.next > a') - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - getPageElems(curSite.pageUrl); - } + getAllCSS(css).forEach(function (one) {_img += ``;}) + getOne(curSite.pager.insertP[0]).innerHTML = _img; } // [动漫之家] 插入数据 function dmzj_insertE(pageElems, type) { @@ -5553,42 +5396,8 @@ } if (_img) { getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - // 当前页码 + 1 - pageNum.now = pageNum._now + 1 - } - } - } - - - // [动漫之家-漫画] 初始化(调整本话其余图片) - function dmzj_manhua_init() { - let _img = ''; - getAllCSS('#center_box > .inner_img img[src]').forEach(function (one) { - _img += ``; - one.parentElement.parentElement.remove(); - }) - getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - - } - // [动漫之家-漫画] 获取下一页地址 - function dmzj_manhua_nextL() { - let next; - next = getCSS('#next_chapter') - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - getPageElems(curSite.pageUrl); + addHistory(pageElems); + if (replaceElement(pageElems)) pageNum.now = pageNum._now + 1 } } // [动漫之家-漫画] 插入数据 @@ -5604,103 +5413,12 @@ } if (_img) { getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - // 当前页码 + 1 - pageNum.now = pageNum._now + 1 - } - } - } - - - // [百度贴吧 - 帖子内] 加载下一页 - function baidu_tieba_post_nextL() { - let next; - next = getXpath('//li[contains(@class,"pb_list_pager")]/a[contains(text(),"下一页")]') - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - insStyle('topic_list_box, ul.tbui_aside_float_bar, .core_title_wrap_bright.tbui_follow_fixed.core_title_absolute_bright {display: none !important;}'); - insIframe(curSite.pageUrl); - } - } - - - // [拷贝漫画] 加载下一页 - function copymanga_nextL() { - let next; - next = getCSS('.comicContent-next > a') - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - insStyle('h4.header, h4.header +div[style*="fixed"] {display: none !important;}'); - insIframe(curSite.pageUrl); - } - } - - - // 插入 iframe 加载下一页 - function insIframe(src) { - // 停用当前页面翻页 - curSite.SiteTypeID = 0; - // 当滚动条到底部时(即完全显示 iframe 框架),隐藏当前页面的滚动条 - window.addEventListener('scroll', function (e) { - let scrollTop = document.documentElement.scrollTop || document.body.scrollTop, - scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight, - clientHeight = document.documentElement.clientHeight || document.body.clientHeight - if (scrollTop + clientHeight + 10 >= scrollHeight) { - if (!getCSS('#xiu-scroll')) { - let newStyle = document.createElement('style'); newStyle.id = 'xiu-scroll'; - document.lastElementChild.appendChild(newStyle).textContent = 'html::-webkit-scrollbar {width: 0 !important;height: 0 !important;} html {scrollbar-width: none !important;}'; - } - } else { - if (getCSS('#xiu-scroll')) { - getCSS('#xiu-scroll').remove(); - } - } - //console.log(`${scrollTop} + ${clientHeight} >= ${scrollTop + clientHeight} / ${scrollHeight}`) - }, false); - - // 创建 iframe - let iframe = document.createElement('iframe'); - iframe.style = 'position: absolute; width: 100%; height: 100%; border: none;'; - iframe.src = src; - - // 添加历史记录 - if (curSite.pager.history) { - // 加载完成后才继续 - iframe.onload = function() { - let title_ = iframe.contentWindow.document.title; - if (!title_) {title_ = window.top.document.title;}; - window.top.history.pushState(`{title: ${document.title}, url: ${location.href}}`, title_, curSite.pageUrl); - window.top.document.title = iframe.contentWindow.document.title - }; + addHistory(pageElems); + if (replaceElement(pageElems)) pageNum.now = pageNum._now + 1 } - - // 插入 iframe - document.lastElementChild.appendChild(iframe); } - // [漫画星球] 获取下一页地址 - function mhxqiu_nextL() { - let next = getCSS('#mainControlNext'); - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - //console.log(curSite.pageUrl) - getPageElems(curSite.pageUrl); - } - } // [漫画星球] 插入数据 function mhxqiu_insertE(pageElems, type) { if (!pageElems) return @@ -5709,40 +5427,17 @@ // 插入图片 let _img = ''; - for (let now of newImgs) { - _img += `
  • `; - } + for (let now of newImgs) {_img += `
  • `;} if (_img) { // 将 img 标签插入到网页中 getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 当前页码 + 1 + addHistory(pageElems); pageNum.now = pageNum._now + 1 - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - } + replaceElement(pageElems) } } - // [风之动漫] 获取下一页地址 - function fffdm_nextL() { - let next = getXpath('//a[contains(text(), "下一页") or contains(text(), "下一话")]'); - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - getPageElems(curSite.pageUrl); - } - } // [风之动漫] 插入数据 function fffdm_insertE(pageElems, type) { if (!pageElems) return @@ -5755,21 +5450,9 @@ // 插入图片 setTimeout(function() { getOne(curSite.pager.insertP[0]).appendChild(document.createElement('img')).src = mhpicurl; - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 当前页码 + 1 + addHistory(pageElems); pageNum.now = pageNum._now + 1 - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - } + replaceElement(pageElems) }, 100) } } @@ -5788,16 +5471,6 @@ getOne(curSite.pager.insertP[0]).innerHTML = _img; } - // [乐语漫画] 获取下一页地址 - function leyuman_nextL() { - let next = getCSS('#xurl'); - if (next) { - if (next.href === curSite.pageUrl) return - curSite.pageUrl = next.href; - //console.log(curSite.pageUrl) - getPageElems(curSite.pageUrl); - } - } // [乐语漫画] 插入数据 function leyuman_insertE(pageElems, type) { if (!pageElems) return @@ -5816,21 +5489,9 @@ if (_img) { // 将 img 标签插入到网页中 getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); - - // 添加历史记录 - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, pageElems.querySelector('title').textContent, curSite.pageUrl); - - // 当前页码 + 1 + addHistory(pageElems); pageNum.now = pageNum._now + 1 - - // 替换元素 - let oriE = getAllCSS(curSite.pager.replaceE.replace('css;', '')), - repE = getAll(curSite.pager.replaceE, pageElems, pageElems); - if (oriE.length === repE.length) { - for (let i = 0; i < oriE.length; i++) { - oriE[i].outerHTML = repE[i].outerHTML; - } - } + replaceElement(pageElems) } } @@ -5871,37 +5532,19 @@ } else if (one.indexOf('chapterPath') > -1) { // 图片文件路径 chapterPath = one.split('"')[1]; } else if (one.indexOf('pageTitle') > -1) { // 网页标题 - let title = one.split('"')[1]; - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, title, url); // 添加历史记录 - window.document.title = title; // 修改当前网页标题为下一页的标题 + addHistory(pageElems, one.split('"')[1]); } }) if (chapterImages && chapterPath) { let _img = ''; - chapterImages.forEach(function (one2){ // 遍历图片文件名数组,组合为 img 标签 - _img += '' - }) + chapterImages.forEach(function (one2){_img += '';}) getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - // 当前页码 + 1 pageNum.now = pageNum._now + 1 } } } - // [砂之船动漫家] 的插入前函数(加载图片) - function szcdmj_bF(pageElems) { - pageElems.forEach(function (one) { - let now = one.querySelector('img[data-original]') - if (now) { - now.src = now.dataset.original; - now.style.display = 'inline'; - } - }); - return pageElems - } - - // [Mangabz 漫画] 初始化(调整本话图片) function mangabz_init() { let showimage = getCSS('#showimage'), @@ -5919,11 +5562,7 @@ function mangabz_nextL() { var url = ''; if (MANGABZ_PAGE === MANGABZ_IMAGE_COUNT) { // 下一话 - url = getXpath('//a[./img[contains(@src, "icon_xiayizhang")]]') - if (url === curSite.pageUrl) return - curSite.pageUrl = url - //console.log(curSite.pageUrl) - getPageElems(curSite.pageUrl); // 访问下一话 URL 获取 + if (getE_nextL('//a[./img[contains(@src, "icon_xiayizhang")]]')) getPageElems(curSite.pageUrl); // 访问下一话 URL 获取 } else { // 下一页 if (!mkey) var mkey = ''; url = location.origin + location.pathname + 'chapterimage.ashx' + `?cid=${MANGABZ_CID}&page=${MANGABZ_PAGE + 1}&key=${(mkey)}&_cid=${MANGABZ_CID}&_mid=${MANGABZ_MID}&_dt=${MANGABZ_VIEWSIGN_DT}&_sign=${MANGABZ_VIEWSIGN}` @@ -5936,37 +5575,21 @@ // [Mangabz 漫画] 插入数据 function mangabz_insertE(pageElems, type) { if (pageElems) { - if (type === 'Next') { + if (type === 'Next') { // 下一页 let imgArr = eval(pageElems), _img = ''; - for (let now of imgArr) { - _img += ``; - } + for (let now of imgArr) {_img += ``;} if (_img) { getOne(curSite.pager.insertP[0]).insertAdjacentHTML(getAddTo(curSite.pager.insertP[1]), _img); // 将 img 标签插入到网页中 - - // 添加历史记录 MANGABZ_PAGE += imgArr.length; - window.history.pushState(`{title: ${document.title}, url: ${location.href}}`, document.title, location.origin + MANGABZ_CURL.substring(0, MANGABZ_CURL.length - 1) + '-p' + MANGABZ_PAGE + '/'); + addHistory(pageElems, document.title, location.origin + MANGABZ_CURL.substring(0, MANGABZ_CURL.length - 1) + '-p' + MANGABZ_PAGE + '/'); } - } else { + } else { // 下一话 // 插入