diff --git a/Autopage.user.js b/Autopage.user.js
index 7062dbdb2..8d4913b67 100644
--- a/Autopage.user.js
+++ b/Autopage.user.js
@@ -6,7 +6,7 @@
// @version 6.6.75
// @author X.I.U
// @description ⭐Append the next page content to the bottom seamlessly (like a waterfall, Unlimited scrolling, no need to manually click on the next page) ⭐, support various forums, social networking, games, comics, novels, academics, search engines (Google, Bing, Yahoo...) and other websites~
-// @description:zh-CN ⭐无缝加载 下一页内容 至网页底部(类似瀑布流,无限滚动,无需手动点击下一页)⭐,目前支持:【所有「Discuz!、Flarum、phpBB、MyBB、Xiuno、XenForo、NexusPHP...」论坛】【百度、谷歌(Google)、必应(Bing)、搜狗、微信、360、Yahoo、Yandex 等搜索引擎...】、贴吧、豆瓣、知乎、NGA、V2EX、起点中文、千图网、千库网、Pixabay、Pixiv、3DM、游侠网、游民星空、NexusMods、Steam 创意工坊、CS.RIN.RU、RuTracker、BT之家、萌番组、动漫花园、樱花动漫、爱恋动漫、AGE 动漫、Nyaa、SrkBT、RARBG、SubHD、423Down、不死鸟、扩展迷、小众软件、【动漫狂、动漫屋、漫画猫、漫画屋、漫画 DB、HiComic、Mangabz、Xmanhua 等漫画网站...】、PubMed、Z-Library、GreasyFork、Github、StackOverflow(以上仅一小部分常见网站,更多的写不下了...
+// @description:zh-CN ⭐无缝加载 下一页内容 至网页底部(类似瀑布流,无限滚动,无需手动点击下一页)⭐,支持各论坛、社交、游戏、漫画、小说、学术、搜索引擎(Google、Bing、Yahoo...) 等网站~
// @description:zh-TW ⭐無縫加載 下一頁內容 至網頁底部(類似瀑布流,无限滚动,無需手働點擊下一頁)⭐,支持各論壇、社交、遊戲、漫畫、小說、學術、搜索引擎(Google、Bing、Yahoo...) 等網站~
// @description:ru ⭐Плавно добавляет содержимое следующей страницы к нижней части (как водопад, неограниченная прокрутка, не нужно вручную нажимать на следующую страницу) ⭐, поддерживает различные форумы, соцсети, игры, комиксы, романы, научные статьи, поисковики (Google, Bing, Yahoo...) и другие сайты~
// @match *://*/*
diff --git a/GithubEnhanced-High-Speed-Download.user.js b/GithubEnhanced-High-Speed-Download.user.js
index 68285de55..cced16688 100644
--- a/GithubEnhanced-High-Speed-Download.user.js
+++ b/GithubEnhanced-High-Speed-Download.user.js
@@ -3,18 +3,13 @@
// @name:zh-CN Github 增强 - 高速下载
// @name:zh-TW Github 增強 - 高速下載
// @name:ru Улучшение GitHub – быстрое скачивание
-// @version 2.6.37
+// @version 2.6.39
// @author X.I.U
// @description High-speed download of Git Clone/SSH, Release, Raw, Code(ZIP) and other files (Based on public welfare), project list file quick download (☁)
// @description:zh-CN 高速下载 Git Clone/SSH、Release、Raw、Code(ZIP) 等文件 (公益加速)、项目列表单文件快捷下载 (☁)
// @description:zh-TW 高速下載 Git Clone/SSH、Release、Raw、Code(ZIP) 等文件 (公益加速)、項目列表單文件快捷下載 (☁)
// @description:ru Высокоскоростная загрузка Git Clone/SSH, выпусков, изначальных файлов, кода (ZIP) и других файлов (на основе общественного благосостояния), быстрая загрузка файлов из списка проектов (☁)
// @match *://github.com/*
-// @match *://hub.whtrys.space/*
-// @match *://dgithub.xyz/*
-// @match *://kkgithub.com/*
-// @match *://github.site/*
-// @match *://github.store/*
// @match *://bgithub.xyz/*
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACEUExURUxpcRgWFhsYGBgWFhcWFh8WFhoYGBgWFiUlJRcVFRkWFhgVFRgWFhgVFRsWFhgWFigeHhkWFv////////////r6+h4eHv///xcVFfLx8SMhIUNCQpSTk/r6+jY0NCknJ97e3ru7u+fn51BOTsPCwqGgoISDg6empmpoaK2srNDQ0FhXV3eXcCcAAAAXdFJOUwCBIZXMGP70BuRH2Ze/LpIMUunHkpQR34sfygAAAVpJREFUOMt1U+magjAMDAVb5BDU3W25b9T1/d9vaYpQKDs/rF9nSNJkArDA9ezQZ8wPbc8FE6eAiQUsOO1o19JolFibKCdHGHC0IJezOMD5snx/yE+KOYYr42fPSufSZyazqDoseTPw4lGJNOu6LBXVUPBG3lqYAOv/5ZwnNUfUifzBt8gkgfgINmjxOpgqUA147QWNaocLniqq3QsSVbQHNp45N/BAwoYQz9oUJEiE4GMGfoBSMj5gjeWRIMMqleD/CAzUHFqTLyjOA5zjNnwa4UCEZ2YK3khEcBXHjVBtEFeIZ6+NxYbPqWp1DLKV42t6Ujn2ydyiPi9nX0TTNAkVVZ/gozsl6FbrktkwaVvL2TRK0C8Ca7Hck7f5OBT6FFbLATkL2ugV0tm0RLM9fedDvhWstl8Wp9AFDjFX7yOY/lJrv8AkYuz7fuP8dv9izCYH+x3/LBnj9fYPBTpJDNzX+7cAAAAASUVORK5CYII=
// @grant GM_registerMenuCommand
@@ -39,40 +34,23 @@
const download_url_us = [
['https://gh.h233.eu.org/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@X.I.U/XIU2] 提供'],
//['https://gh.api.99988866.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.com/hunshcn/gh-proxy] 提供'], // 官方演示站用的人太多了
- //['https://ghproxy.1888866.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [WJQSERVER-STUDIO/ghproxy] 提供'],//挂了
- ['https://rapidgit.jjda.de5.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [热心网友] 提供'],
- ['https://gh.ddlc.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@mtr-static-official] 提供'], // Error 1027
- //['https://gh2.yanqishui.work/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@HongjieCN] 提供'], // 错误
- //['https://dl.ghpig.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [feizhuqwq.com] 提供'], // ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- //['https://gh.flyinbug.top/gh/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [Mintimate] 提供'], // 错误
- //['https://gh.con.sh/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.con.sh] 提供'], // Suspent due to abuse report.
- //['https://ghps.cc/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghps.cc] 提供'], // 提示 blocked
+ //['https://rapidgit.jjda.de5.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [热心网友] 提供'],//挂了,522超时
+ ['https://gh.ddlc.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@mtr-static-official] 提供'],
['https://gh-proxy.org/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.com] 提供'],
//['https://hk.gh-proxy.org/https://github.com', '其他', '[中国香港] - 该公益加速源由 [gh-proxy.com] 提供'],
['https://cdn.gh-proxy.org/https://github.com', '其他', '[Fastly CDN] - 该公益加速源由 [gh-proxy.com] 提供'],
['https://edgeone.gh-proxy.org/https://github.com', '其他', '[edgeone] - 该公益加速源由 [gh-proxy.com] 提供'],
['https://cors.isteed.cc/github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@Lufs\'s] 提供'],
- //['https://hub.gitmirror.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [GitMirror] 提供'], // 域名无解析
- //['https://down.sciproxy.com/github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [sciproxy.com] 提供'], // 522
['https://ghproxy.it/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@yionchilau] 提供'],
- //['https://github.site', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供'], // 挂了
- //['https://github.store', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供'], // 挂了
- //['https://gh.jiasu.in/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@0-RTT] 提供'], // 404
['https://github.boki.moe/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [blog.boki.moe] 提供'],
- //['https://github.moeyy.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [moeyy.cn] 提供'], // 墙了
- ['https://gh-proxy.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.net] 提供'],
- //['https://github.yongyong.online/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.yongyong.online] 提供'], // 空白
- //['https://ghdd.862510.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghdd.862510.xyz] 提供'], // turnstile token missing
['https://gh.jasonzeng.dev/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.jasonzeng.dev] 提供'],
['https://gh.monlor.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.monlor.com] 提供'],
- ['https://fastgit.cc/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [fastgit.cc] 提供'],
- ['https://github.tbedu.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.tbedu.top] 提供'],
- //['https://github.geekery.cn/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.geekery.cn] 提供'], // 下载认证信息 用户名:123123 密 码:123123
- ['https://firewall.lxstd.org/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [firewall.lxstd.org] 提供'],
+ //['https://fastgit.cc/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [fastgit.cc] 提供'], // 挂了
+ //['https://github.tbedu.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.tbedu.top] 提供'],//挂了 DNS_PROBE_FINISHED_NXDOMAIN
+ ['https://github.geekery.cn/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.geekery.cn] 提供'],
['https://github.ednovas.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.ednovas.xyz] 提供'],
['https://ghfile.geekertao.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghfile.geekertao.top] 提供'],
- ['https://ghp.keleyaa.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghp.keleyaa.com] 提供'], // Error 1027
- //['https://github.wuzhij.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.wuzhij.com] 提供'], // 404
+ ['https://ghp.keleyaa.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghp.keleyaa.com] 提供'],
['https://gh.chjina.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.chjina.com] 提供'],
['https://ghpxy.hwinzniej.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghpxy.hwinzniej.top] 提供'],
['https://cdn.crashmc.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [cdn.crashmc.com] 提供'],
@@ -80,28 +58,19 @@
['https://gitproxy.mrhjx.cn/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gitproxy.mrhjx.cn] 提供'],
['https://ghproxy.cxkpro.top/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghproxy.cxkpro.top] 提供'],
['https://gh.xxooo.cf/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.xxooo.cf] 提供'],
- ['https://github.limoruirui.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.limoruirui.com] 提供'],
- ['https://gh.idayer.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.idayer.com] 提供'], // Error 1027
- //['https://gh.zwnes.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.zwnes.xyz] 提供'], // 超时
- ['https://gh.llkk.cc/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.llkk.cc] 提供'],
+ ['https://gh.idayer.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh.idayer.com] 提供'],
['https://down.npee.cn/?https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [npee社区] 提供'],
['https://raw.ihtw.moe/github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [raw.ihtw.moe] 提供'],
['https://xget.xi-xu.me/gh', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.com/xixu-me/Xget] 提供'],
- //['https://dgithub.xyz', '美国', '[美国 西雅图] - 该公益加速源由 [dgithub.xyz] 提供'], // 证书挂了
- //['https://gh-proxy.ygxz.in/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@一个小站 www.ygxz.in] 提供'], // 被蔷
- ['https://gh.nxnow.top/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [gh.nxnow.top] 提供'],
['https://gh.zwy.one/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [gh.zwy.one] 提供'],
['https://ghproxy.monkeyray.net/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [ghproxy.monkeyray.net] 提供'],
- ['https://gh.xx9527.cn/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [gh.xx9527.cn] 提供'],
//], download_url = [ // 为了缓解非美国公益节点压力(考虑到很多人无视前面随机的美国节点),干脆也将其加入随机
- //['https://ghproxy.net/https://github.com', '英国', '[英国伦敦] - 该公益加速源由 [ghproxy.net] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'], // 挂了
+ ['https://ghproxy.net/https://github.com', '其他', '[英国伦敦] - 该公益加速源由 [ghproxy.net] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'],
['https://ghfast.top/https://github.com', '其他', '[日本、韩国、新加坡、美国、德国等](CDN 不固定) - 该公益加速源由 [ghproxy.link] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'],
['https://wget.la/https://github.com', '其他', '[中国香港、中国台湾、日本、美国等](CDN 不固定) - 该公益加速源由 [ucdn.me] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'],
//['https://hub.glowp.xyz/https://github.com', '其他', '[中国香港] - 该公益加速源由 [hub.glowp.xyz] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'],
- //['https://kkgithub.com', '其他', '[中国香港、日本、韩国、新加坡等] - 该公益加速源由 [help.kkgithub.com] 提供
提示:希望大家尽量多使用美国节点(每次随机 负载均衡),
避免流量都集中到亚洲公益节点,减少成本压力,公益才能更持久~'], // 404
], clone_url = [
['https://gitclone.com', '国内', '[中国 国内] - 该公益加速源由 [GitClone] 提供
- 缓存:有
- 首次比较慢,缓存后较快'],
- //['https://kkgithub.com', '香港', '[中国香港、日本、新加坡等] - 该公益加速源由 [help.kkgithub.com] 提供'], // 超时
//['https://gitdl.cn/https://github.com', '香港', '[中国香港] - 该公益加速源由 [gitdl] 提供'], // 输出文件错误
//['https://gitproxy.click/https://github.com', '香港', '[中国 香港] - 该公益加速源由 [gitproxy.click] 提供'],
//['https://cdn.moran233.xyz/https://github.com', '香港', '[中国 香港] - 该公益加速源由 [cdn.moran233.xyz] 提供'],
@@ -116,36 +85,21 @@
//['https://g.blfrp.cn/https://github.com', '日本', '[日本 东京] - 该公益加速源由 [g.blfrp.cn] 提供'],
//['https://raw.bgithub.xyz', '荷兰', '[荷兰] - 该公益加速源由 [bgithub.xyz] 提供
- 缓存:有'],
//['https://ghproxy.1888866.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [WJQSERVER-STUDIO/ghproxy] 提供'],
- //['https://github.moeyy.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [moeyy.cn] 提供'], // 墙了
- //['https://gh-proxy.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.net] 提供'],
//['https://rapidgit.jjda.de5.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [热心网友] 提供'],
- //['https://github.yongyong.online/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.yongyong.online] 提供'],
- //['https://ghdd.862510.xyz/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghdd.862510.xyz] 提供'],
- //['https://hub.gitmirror.com/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [GitMirror] 提供'], // 域名无解析
//['https://gh-proxy.org/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.com] 提供'],
//['https://cdn.gh-proxy.org/https://github.com', '其他', '[Fastly CDN] - 该公益加速源由 [gh-proxy.com] 提供'],
//['https://edgeone.gh-proxy.org/https://github.com', '其他', '[edgeone] - 该公益加速源由 [gh-proxy.com] 提供'],
//['https://ghproxy.it/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@yionchilau] 提供'],
- //['https://github.site', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供'], // 挂了
- //['https://github.store', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供'], // 挂了
- //['https://gh.jiasu.in/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@0-RTT] 提供'], // 404
- //['https://github.boki.moe/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [blog.boki.moe] 提供'],
- //['https://raw.ihtw.moe/github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [raw.ihtw.moe] 提供'],
- //['https://xget.xi-xu.me/gh', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.com/xixu-me/Xget] 提供'],
- //['https://dgithub.xyz', '美国', '[美国 西雅图] - 该公益加速源由 [dgithub.xyz] 提供'],
- //['https://gh-proxy.ygxz.in/https://github.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@一个小站 www.ygxz.in] 提供'], // 被蔷
- //['https://hub.scholar.rr.nu', '美国', '[美国 纽约] - 该公益加速源由 [FastGit 群组成员] 提供'], // 证书到期
], clone_ssh_url = [
['ssh://git@ssh.github.com:443/', 'Github 原生', '[日本、新加坡等] - Github 官方提供的 443 端口的 SSH(依然是 SSH 协议),适用于限制访问 22 端口的网络环境'],
//['git@ssh.fastgit.org:', '香港', '[中国 香港] - 该公益加速源由 [FastGit] 提供'], // 挂了
//['git@git.zhlh6.cn:', '美国', '[美国 洛杉矶]'] // 挂了
], raw_url = [
['https://raw.githubusercontent.com', 'Github 原生', '[日本 东京]
- 缓存:无(或很短)'],
- //['https://raw.kkgithub.com', '香港 1', '[中国香港、日本、新加坡等] - 该公益加速源由 [help.kkgithub.com] 提供
- 缓存:有'], // 超时
//['https://jsd.proxy.aks.moe/gh', '香港 2', '[中国 香港] - 该公益加速源由 [cdn.akass.cn] 提供'], // 证书错误
['https://wget.la/https://raw.githubusercontent.com', '香港 1', '[中国香港、中国台湾、日本、美国等](CDN 不固定) - 该公益加速源由 [ucdn.me] 提供
- 缓存:无(或很短)'],
['https://hk.gh-proxy.org/https://raw.githubusercontent.com', '香港 2', '[中国香港] - 该公益加速源由 [gh-proxy.com] 提供
- 缓存:有(官方注明 2 小时)'],
- ['https://hub.glowp.xyz/https://raw.githubusercontent.com', '香港 3', '[中国香港] - 该公益加速源由 [hub.glowp.xyz] 提供
- 缓存:有'],
+ //['https://hub.glowp.xyz/https://raw.githubusercontent.com', '香港 3', '[中国香港] - 该公益加速源由 [hub.glowp.xyz] 提供
- 缓存:有'], //域名到期失效
//['https://gitproxy.click/https://raw.githubusercontent.com', '香港', '[中国 香港] - 该公益加速源由 [gitproxy.click] 提供'], // 输出错误
//['https://cdn.moran233.xyz/https://raw.githubusercontent.com', '香港', '[中国 香港] - 该公益加速源由 [cdn.moran233.xyz] 提供'], // 404
//['https://gitdl.cn/https://raw.githubusercontent.com', '香港 3', '[中国香港] - 该公益加速源由 [gitdl] 提供
- 缓存:有'], // 输出文件错误
@@ -160,30 +114,6 @@
//['https://raw.bgithub.xyz', '荷兰', '[荷兰] - 该公益加速源由 [bgithub.xyz] 提供
- 缓存:有'],
//['https://gcore.jsdelivr.net/gh', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [JSDelivr CDN] 提供
- 缓存:有
- 不支持大小超过 50 MB 的文件
- 不支持版本号格式的分支名(如 v1.2.3)'], // 变成 美国 Cloudflare CDN 了
//['https://jsdelivr.b-cdn.net/gh', '其他', '[中国香港、中国台湾、日本、新加坡等](CDN 不固定) - 该公益加速源由 [@rttwyjz] 提供
- 缓存:有'], // 疑似 SNI 阻断
- //['https://xget.xi-xu.me/gh', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.com/xixu-me/Xget] 提供'],
- //['https://ghproxy.1888866.xyz/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [WJQSERVER-STUDIO/ghproxy] 提供'],
- //['https://github.moeyy.xyz/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [moeyy.cn] 提供
- 缓存:有(约 10 分钟)'], // 墙了
- //['https://gh-proxy.net/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.net] 提供'],
- //['https://rapidgit.jjda.de5.net/https://github.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [热心网友] 提供'],
- //['https://github.yongyong.online/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [github.yongyong.online] 提供'],
- //['https://ghdd.862510.xyz/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [ghdd.862510.xyz] 提供'],
- //['https://raw.cachefly.998111.xyz', '其他 4', '[新加坡、日本、印度等](Anycast CDN 不固定) - 该公益加速源由 [@XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX0] 提供
- 缓存:有(约 12 小时)'], // 证书到期
- //['https://ghproxy.it/https://raw.githubusercontent.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@yionchilau] 提供
- 缓存:无(或很短)'],
- //['https://raw.github.site', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供
- 缓存:无(或很短)'], // 挂了
- //['https://raw.github.store', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@yionchilau] 提供
- 缓存:无(或很短)'], // 挂了
- //['https://gh.jiasu.in/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [@0-RTT] 提供'], // 404
- //['https://github.boki.moe/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [blog.boki.moe] 提供
- 缓存:无(或很短)'],
- //['https://gh-proxy.org/https://raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [gh-proxy.com] 提供
- 缓存:有'],
- //['https://cdn.gh-proxy.org/https://raw.githubusercontent.com', '其他', '[Fastly CDN] - 该公益加速源由 [gh-proxy.com] 提供'],
- //['https://edgeone.gh-proxy.org/https://raw.githubusercontent.com', '其他', '[edgeone] - 该公益加速源由 [gh-proxy.com] 提供'],
- //['https://cdn.githubraw.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [githubraw.com] 提供
- 缓存:有(几乎永久)'],
- //['https://raw.dgithub.xyz', '美国', '[美国 西雅图] - 该公益加速源由 [dgithub.xyz] 提供
- 缓存:无(或很短)'],
- //['https://gh-proxy.ygxz.in//https://raw.githubusercontent.com', '美国', '[美国 洛杉矶] - 该公益加速源由 [@一个小站 www.ygxz.in] 提供
- 缓存:无(或很短)'], // 被蔷
- //['https://raw.nuaa.cf', '美国', '[美国 洛杉矶] - 该公益加速源由 [FastGit 群组成员] 提供'], // 证书到期
- //['https://raw.yzuu.cf', '美国', '[美国 纽约] - 该公益加速源由 [FastGit 群组成员] 提供'], // 证书到期
- //['https://hub.gitmirror.com/raw.githubusercontent.com', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [GitMirror] 提供
- 缓存:无(或很短)'], // 域名无解析
- //['https://jsdelivr-cdn.pencilnavrp.990989.xyz/gh', '美国', '[美国 Cloudflare CDN] - 该公益加速源由 [PencilNavigator] 提供
- 缓存:有'],
- //['https://git.yumenaka.net/https://raw.githubusercontent.com', '美国', '[美国 圣何塞]'], // 连接超时
], svg = [
''
], style = ['padding:0 6px; margin-right: -1px; border-radius: 2px; background-color: var(--XIU2-background-color); border-color: var(--borderColor-default); font-size: 11px; color: var(--XIU2-font-color);'];
@@ -259,7 +189,7 @@
if (target.tagName === 'DIV' && target.dataset.viewComponent === 'true' && target.classList[0] === 'Box') addRelease();
}
}
- } else if (document.querySelector('#repository-container-header:not([hidden])')) { // 项目首页
+ } else if (document.querySelector('#repo-title-component')) { // 项目首页
for (const mutation of mutationsList) {
for (const target of mutation.addedNodes) {
if (target.nodeType !== 1) return
@@ -575,4 +505,4 @@
window.dispatchEvent(new Event('urlchange'))
});
}
-})();
\ No newline at end of file
+})();
diff --git a/Zhihu-Beautification.user.js b/Zhihu-Beautification.user.js
index 584671e36..92c3a6708 100644
--- a/Zhihu-Beautification.user.js
+++ b/Zhihu-Beautification.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 知乎美化
-// @version 1.5.20
+// @version 1.5.24
// @author X.I.U
// @description 宽屏显示、暗黑模式(4种)、暗黑模式跟随浏览器、屏蔽首页活动广告、隐藏文章开头大图、调整图片最大高度、向下翻时自动隐藏顶栏
// @match *://www.zhihu.com/*
@@ -13,6 +13,7 @@
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_notification
+// @grant window.onurlchange
// @sandbox JavaScript
// @license GPL-3.0 License
// @run-at document-start
@@ -27,9 +28,9 @@
['menu_widescreenDisplay', '宽屏显示', '勾选 = 该页面开启宽屏显示(刷新后查看效果)', ''],
['menu_widescreenDisplayIndex', '首页', '宽屏显示', true],
['menu_widescreenDisplayQuestion', '问题页', '宽屏显示', true],
- ['menu_widescreenDisplaySearch', '搜索页、话题页、圈子', '宽屏显示', true],
+ ['menu_widescreenDisplaySearch', '搜索页、话题页', '宽屏显示', true],
['menu_widescreenDisplayCollection', '收藏页', '宽屏显示', true],
- ['menu_widescreenDisplayPost', '文章页', '宽屏显示', false],
+ ['menu_widescreenDisplayPost', '文章页(暂不可用)', '宽屏显示', false],
['menu_widescreenDisplayPeople', '用户主页', '用户主页', false],
['menu_widescreenDisplayWidth', '宽屏宽度', '宽屏宽度 (默认 1000)', '1000'],
['menu_darkMode', '暗黑模式', '暗黑模式', true],
@@ -43,7 +44,11 @@
if (GM_getValue(menu_ALL[i][0]) == null){GM_setValue(menu_ALL[i][0], menu_ALL[i][3])};
}
registerMenuCommand();
+ if (window.onurlchange === undefined) {addUrlChangeEvent();} // Tampermonkey v4.11 版本添加的 onurlchange 事件 grant,可以监控 pjax 等网页的 URL 变化
addStyle();
+ window.addEventListener('urlchange', function(){ // 网页 URL 动态变化后再次执行(针对在任何页面搜索时)
+ if (menu_value('menu_widescreenDisplaySearch') && (location.pathname === '/search' || location.pathname.indexOf('/club/') > -1 || location.pathname.indexOf('/topic/') > -1)) {addStyle()};
+ })
// 向下翻时自动隐藏顶栏
if (menu_value('menu_hideTitle')) setTimeout(hideTitle, 2000);
@@ -217,19 +222,19 @@ html[data-theme=light] .AppHeader-notifications:not([aria-label=通知])>div:fir
@media only screen and (max-width: ${Number(GM_getValue('menu_widescreenDisplayWidth'))+50}px) {.Topstory-container {width: 97% !important;}}
`,
style_widescreenDisplayQuestion = `/* 宽屏显示 - 问题页 */
-.Question-mainColumn, .ListShortcut, .QuestionWaiting-mainColumn {width: inherit !important;}
+.QuestionWaiting-mainColumn {width: inherit !important;}
.Question-mainColumn+div,[data-za-detail-view-path-module="RightSideBar"], .Question-sideColumn, .GlobalSideBar {display: none !important;}
.QuestionWaiting-mainColumn {margin-right: 0 !important;}
-.Question-main {width: ${GM_getValue('menu_widescreenDisplayWidth')}px;}
-@media only screen and (max-width: ${Number(GM_getValue('menu_widescreenDisplayWidth'))+50}px) {.Question-main {width: auto !important;}}
-@media only screen and (max-width: ${GM_getValue('menu_widescreenDisplayWidth')-100}px) {.Question-main {width: 98.5% !important;}}
+.Question-mainColumn, .ListShortcut {width: ${GM_getValue('menu_widescreenDisplayWidth')}px; margin: auto!important;}
+@media only screen and (max-width: ${Number(GM_getValue('menu_widescreenDisplayWidth'))+50}px) {.Question-mainColumn, .ListShortcut {width: auto !important;}}
+@media only screen and (max-width: ${GM_getValue('menu_widescreenDisplayWidth')-100}px) {.Question-mainColumn, .ListShortcut {width: 98.5% !important;}}
.AuthorInfo {max-width: 100% !important;}
`,
style_widescreenDisplaySearch = `/* 宽屏显示 - 搜索页 */
-.SearchMain, .ContentLayout-mainColumn, .Club-mainColumn, .Post-mainColumn, [data-za-detail-view-path-module=TopicItem]>div:first-child {width: inherit !important;}
-.SearchMain+div, .ContentLayout-sideColumn, .Card.QuestionHeaderTopicMeta, .ClubSideBar, [data-za-detail-view-path-module=TopicItem]>div:not(:first-child) {display: none !important;}
-.Search-container, .ContentLayout, .Club-container, .Post-container, [data-za-detail-view-path-module=TopicItem] {width: ${GM_getValue('menu_widescreenDisplayWidth')}px;}
-@media only screen and (max-width: ${Number(GM_getValue('menu_widescreenDisplayWidth'))+50}px) {.Search-container, .ContentLayout, .Club-container, .Post-container, [data-za-detail-view-path-module=TopicItem] {width: 97.5% !important;}}
+.SearchMain, .App-main>[data-za-detail-view-path-module=TopicItem]>div:first-child {width: inherit !important;}
+.SearchMain+div, .App-main>[data-za-detail-view-path-module=TopicItem]>div:not(:first-child) {display: none !important;}
+.Search-container, .App-main>[data-za-detail-view-path-module=TopicItem] {width: ${GM_getValue('menu_widescreenDisplayWidth')}px;}
+@media only screen and (max-width: ${Number(GM_getValue('menu_widescreenDisplayWidth'))+50}px) {.Search-container, .App-main>[data-za-detail-view-path-module=TopicItem] {width: 97.5% !important;}}
`,
style_widescreenDisplayCollection = `/* 宽屏显示 - 收藏页 */
.CollectionsDetailPage-mainColumn {width: inherit !important;}
@@ -262,6 +267,8 @@ html[data-theme=light] .AppHeader-notifications:not([aria-label=通知])>div:fir
.ztext .content_image, .ztext .origin_image, .GifPlayer img {max-height: 500px !important;width: auto !important;}
`,
style_darkMode_1 = `/* 暗黑模式(方案 1) */
+/* 首页工具条宽度 */
+html[data-theme=dark] .Card.TopstoryItem.TopstoryItem-isRecommend .ContentItem-actions, .Card.TopstoryItem.TopstoryItem-isFollow .ContentItem-actions {margin: 0 -16px -10px;}
/* 右上角 通知/私信 红点颜色 */
html[data-theme=dark] .AppHeader-notifications:not([aria-label=通知])>div:first-of-type, html[data-theme=dark] .AppHeader-messages:not([aria-label=私信])>div:first-of-type {color: #ffffff !important;border: 2px solid #2d333b !important;}
/* 文字颜色 */
@@ -523,7 +530,7 @@ html {filter: brightness(65%) sepia(30%) !important; background-image: url();}
// 获取知乎 Cookie 中的主题类型
function getTheme() {
- let name = 'theme=',
+ let name = 'themeApp=',
ca = document.cookie.split(';');
for (let i=0; i function pushState(){
+ var ret = f.apply(this, arguments);
+ window.dispatchEvent(new Event('pushstate'));
+ window.dispatchEvent(new Event('urlchange'));
+ return ret;
+ })(history.pushState);
+
+ history.replaceState = ( f => function replaceState(){
+ var ret = f.apply(this, arguments);
+ window.dispatchEvent(new Event('replacestate'));
+ window.dispatchEvent(new Event('urlchange'));
+ return ret;
+ })(history.replaceState);
+
+ window.addEventListener('popstate',()=>{
+ window.dispatchEvent(new Event('urlchange'))
+ });
+ }
})();
\ No newline at end of file
diff --git a/Zhihu-Enhanced.user.js b/Zhihu-Enhanced.user.js
index 48c150978..07258f8a1 100644
--- a/Zhihu-Enhanced.user.js
+++ b/Zhihu-Enhanced.user.js
@@ -3,11 +3,11 @@
// @name:zh-CN 知乎增强
// @name:zh-TW 知乎增強
// @name:ru Улучшение Zhihu
-// @version 2.3.28
+// @version 2.3.32
// @author X.I.U
// @description A more personalized Zhihu experience~
-// @description:zh-CN 移除登录弹窗、屏蔽指定类别(视频、盐选、文章、想法、关注[赞同/关注了XX]等)、屏蔽低赞/低评回答、屏蔽用户、屏蔽关键词、默认收起回答、快捷收起回答/评论(左键两侧)、快捷回到顶部(右键两侧)、区分问题文章、移除高亮链接、净化搜索热门、净化标题消息、展开问题描述、显示问题作者、默认高清原图(无水印)、置顶显示时间、完整问题时间、直达问题按钮、默认站外直链...
-// @description:zh-TW 移除登錄彈窗、屏蔽指定類別(視頻、鹽選、文章、想法、關注[贊同/關注了XX]等)、屏蔽低贊/低評回答、屏蔽用戶、屏蔽關鍵詞、默認收起回答、快捷收起回答/評論、快捷回到頂部、區分問題文章、移除高亮鏈接、默認高清原圖(無水印)、默認站外直鏈...
+// @description:zh-CN 移除登录弹窗、屏蔽指定类别(视频、盐选、文章、想法、关注[赞同/关注了XX]等)、屏蔽低赞/低评、屏蔽用户、屏蔽关键词、默认收起回答、快捷收起回答/评论(左键两侧)、快捷回到顶部(右键两侧)、区分问题文章、移除高亮链接、净化搜索热门、净化标题消息、展开问题描述、显示问题作者、默认高清原图(无水印)、置顶显示时间、完整问题时间、直达问题按钮、默认站外直链...
+// @description:zh-TW 移除登錄彈窗、屏蔽指定類別(視頻、鹽選、文章、想法、關注[贊同/關注了XX]等)、屏蔽低贊/低評、屏蔽用戶、屏蔽關鍵詞、默認收起回答、快捷收起回答/評論、快捷回到頂部、區分問題文章、移除高亮鏈接、默認高清原圖(無水印)、默認站外直鏈...
// @description:ru Более персонализированный опыт пользования сайтом Zhihu~
// @match *://www.zhihu.com/*
// @match *://zhuanlan.zhihu.com/*
@@ -248,8 +248,8 @@ function collapsedAnswer() {
//console.log('1111', document.querySelector('.CornerAnimayedFlex'))
if (document.querySelector('.CornerAnimayedFlex') && !document.getElementById('collapsed-button')) {
// 向网页中插入收起全部回答按钮+样式+绑定点击事件
- document.head.appendChild(document.createElement('style')).textContent = '.CornerButton{margin-bottom:8px !important;}.CornerButtons{bottom:45px !important;}';
- document.querySelector('.CornerAnimayedFlex').insertAdjacentHTML('afterBegin', '');
+ document.head.appendChild(document.createElement('style')).textContent = '.CornerButton{margin-bottom:8px !important;}.CornerButtons{bottom:25px !important;} .CornerAnimayedFlex {height: auto;}';
+ document.querySelector('.CornerAnimayedFlex').insertAdjacentHTML('afterBegin', '');
document.getElementById('collapsed-button').onclick = function () {
// 收起所有评论(悬浮的 [收起评论])
@@ -295,119 +295,122 @@ function collapsedAnswer() {
function collapsedNowAnswer(selectors) {
backToTop(selectors) // 快捷回到顶部
if (!menu_value('menu_collapsedNowAnswer')) return
- document.querySelector(selectors).onclick = function(event){
- if (event.target == this) {
- // 下面这段主要是 [收起回答],顺便 [收起评论](如果展开了的话)
- let rightButton = document.querySelector('.ContentItem-actions.Sticky.RichContent-actions.is-fixed.is-bottom')
- if (rightButton) { // 悬浮在底部的 [收起回答](此时正在浏览回答内容 [中间区域])
- // 固定的 [收起评论](先看看是否展开评论)
- let commentCollapseButton = rightButton.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
- //console.log('111')
- if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) commentCollapseButton.click();
- // 再去收起回答
- rightButton = rightButton.querySelector('.ContentItem-rightButton[data-zop-retract-question]')
- //console.log('222')
- if (rightButton) rightButton.click();
-
- } else { // 固定在回答底部的 [收起回答](此时正在浏览回答内容 [尾部区域])
-
- // 悬浮的 [收起评论](此时正在浏览评论内容 [中间区域])
- //if (getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container'))) {getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container')).click();console.log('asfaf')}
-
- let answerCollapseButton_ = false;
- for (let el of document.querySelectorAll('.ContentItem-rightButton[data-zop-retract-question]')) { // 遍历所有回答底部的 [收起] 按钮
- if (isElementInViewport(el)) { // 判断该 [收起] 按钮是否在可视区域内
- // 固定的 [收起评论](先看看是否展开评论,即存在 [收起评论] 按钮)
- let commentCollapseButton = el.parentNode.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
- // 如果展开了评论,就收起评论
- //console.log('333')
- //if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) commentCollapseButton.click();
- if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) {
- commentCollapseButton.click();
- if (!isElementInViewport(commentCollapseButton)) scrollTo(0,el.offsetTop+50)
- }
- //console.log('444')
- el.click() // 再去收起回答
- answerCollapseButton_ = true; // 如果找到并点击收起了,就没必要执行下面的代码了(可视区域中没有 [收起回答] 时)
- break
- }
- }
- // 针对完全看不到 [收起回答] 按钮时(如 [头部区域],以及部分明明很长却不显示悬浮横条的回答)
- if (!answerCollapseButton_) {
- for (let el of document.querySelectorAll('.List-item, .Card.AnswerCard, .Card.TopstoryItem')) { // 遍历所有回答主体元素
- if (isElementInViewport_(el)) { // 判断该回答是否在可视区域内
+ let element = document.querySelector(selectors)
+ if (element) {
+ element.onclick = function(event){
+ if (event.target == this) {
+ // 下面这段主要是 [收起回答],顺便 [收起评论](如果展开了的话)
+ let rightButton = document.querySelector('.ContentItem-actions.Sticky.RichContent-actions.is-fixed.is-bottom')
+ if (rightButton) { // 悬浮在底部的 [收起回答](此时正在浏览回答内容 [中间区域])
+ // 固定的 [收起评论](先看看是否展开评论)
+ let commentCollapseButton = rightButton.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
+ //console.log('111')
+ if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) commentCollapseButton.click();
+ // 再去收起回答
+ rightButton = rightButton.querySelector('.ContentItem-rightButton[data-zop-retract-question]')
+ //console.log('222')
+ if (rightButton) rightButton.click();
+
+ } else { // 固定在回答底部的 [收起回答](此时正在浏览回答内容 [尾部区域])
+
+ // 悬浮的 [收起评论](此时正在浏览评论内容 [中间区域])
+ //if (getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container'))) {getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container')).click();console.log('asfaf')}
+
+ let answerCollapseButton_ = false;
+ for (let el of document.querySelectorAll('.ContentItem-rightButton[data-zop-retract-question]')) { // 遍历所有回答底部的 [收起] 按钮
+ if (isElementInViewport(el)) { // 判断该 [收起] 按钮是否在可视区域内
// 固定的 [收起评论](先看看是否展开评论,即存在 [收起评论] 按钮)
- let commentCollapseButton = el.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
+ let commentCollapseButton = el.parentNode.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
// 如果展开了评论,就收起评论
- //console.log('555',commentCollapseButton)
+ //console.log('333')
+ //if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) commentCollapseButton.click();
if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) {
commentCollapseButton.click();
if (!isElementInViewport(commentCollapseButton)) scrollTo(0,el.offsetTop+50)
}
- let answerCollapseButton__ = el.querySelector('.ContentItem-rightButton[data-zop-retract-question]');
- //console.log('666')
- if (answerCollapseButton__) answerCollapseButton__.click() // 再去收起回答
+ //console.log('444')
+ el.click() // 再去收起回答
+ answerCollapseButton_ = true; // 如果找到并点击收起了,就没必要执行下面的代码了(可视区域中没有 [收起回答] 时)
break
}
}
- }
- }
-
- // 下面这段只针对 [收起评论](如果展开了的话)
- let commentCollapseButton_ = false, commentCollapseButton__ = false;
- // 悬浮的 [收起评论](此时正在浏览评论内容 [中间区域])
- let commentCollapseButton = getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container'))
- if (commentCollapseButton) {
- //console.log('777', commentCollapseButton)
- commentCollapseButton.click();
- } else { // 固定的 [收起评论](此时正在浏览评论内容 [头部区域])
- let commentCollapseButton_1 = document.querySelectorAll('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type, .ContentItem-action > button.Button.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
- if (commentCollapseButton_1.length > 0) {
- for (let el of commentCollapseButton_1) {
- if (el.textContent.indexOf('收起评论') > -1) {
- if (isElementInViewport(el)) {
- //console.log('888')
- el.click()
- commentCollapseButton_ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 [收起评论] 时)
+ // 针对完全看不到 [收起回答] 按钮时(如 [头部区域],以及部分明明很长却不显示悬浮横条的回答)
+ if (!answerCollapseButton_) {
+ for (let el of document.querySelectorAll('.List-item, .Card.AnswerCard, .Card.TopstoryItem')) { // 遍历所有回答主体元素
+ if (isElementInViewport_(el)) { // 判断该回答是否在可视区域内
+ // 固定的 [收起评论](先看看是否展开评论,即存在 [收起评论] 按钮)
+ let commentCollapseButton = el.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
+ // 如果展开了评论,就收起评论
+ //console.log('555',commentCollapseButton)
+ if (commentCollapseButton && commentCollapseButton.textContent.indexOf('收起评论') > -1) {
+ commentCollapseButton.click();
+ if (!isElementInViewport(commentCollapseButton)) scrollTo(0,el.offsetTop+50)
+ }
+ let answerCollapseButton__ = el.querySelector('.ContentItem-rightButton[data-zop-retract-question]');
+ //console.log('666')
+ if (answerCollapseButton__) answerCollapseButton__.click() // 再去收起回答
break
}
}
}
}
- if (commentCollapseButton_ == false) { // 可视区域中没有 [收起评论] 时(此时正在浏览评论内容 [头部区域] + [尾部区域](不上不下的,既看不到固定的 [收起评论] 又看不到悬浮的 [收起评论])),需要判断可视区域中是否存在评论元素
- let commentCollapseButton_1 = document.querySelectorAll('.Comments-container')
+
+ // 下面这段只针对 [收起评论](如果展开了的话)
+ let commentCollapseButton_ = false, commentCollapseButton__ = false;
+ // 悬浮的 [收起评论](此时正在浏览评论内容 [中间区域])
+ let commentCollapseButton = getXpath('//button[text()="收起评论"]',document.querySelector('.Comments-container'))
+ if (commentCollapseButton) {
+ //console.log('777', commentCollapseButton)
+ commentCollapseButton.click();
+ } else { // 固定的 [收起评论](此时正在浏览评论内容 [头部区域])
+ let commentCollapseButton_1 = document.querySelectorAll('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type, .ContentItem-action > button.Button.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
if (commentCollapseButton_1.length > 0) {
for (let el of commentCollapseButton_1) {
- if (isElementInViewport(el)) {
- let parentElement = findParentElement(el, 'List-item') || findParentElement(el, 'Card '),
- commentCollapseButton = parentElement.querySelector('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
- if (commentCollapseButton.textContent.indexOf('收起评论') > -1) {
- //console.log('999')
- commentCollapseButton.click()
- if (!isElementInViewport(commentCollapseButton)) {console.log(parentElement,parentElement.offsetTop,parentElement.offsetHeight);scrollTo(0,parentElement.offsetTop+parentElement.offsetHeight-50)}
- commentCollapseButton__ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 评论元素 时)
+ if (el.textContent.indexOf('收起评论') > -1) {
+ if (isElementInViewport(el)) {
+ //console.log('888')
+ el.click()
+ commentCollapseButton_ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 [收起评论] 时)
break
}
}
}
}
- if (commentCollapseButton__ == false) { // 如果上面的都没找到,那么就尝试寻找评论末尾的 [评论回复框]
- let commentCollapseButton_2 = document.querySelectorAll('.Editable-content')
- if (commentCollapseButton_2.length > 0) {
- for (let el of commentCollapseButton_2) {
+ if (commentCollapseButton_ == false) { // 可视区域中没有 [收起评论] 时(此时正在浏览评论内容 [头部区域] + [尾部区域](不上不下的,既看不到固定的 [收起评论] 又看不到悬浮的 [收起评论])),需要判断可视区域中是否存在评论元素
+ let commentCollapseButton_1 = document.querySelectorAll('.Comments-container')
+ if (commentCollapseButton_1.length > 0) {
+ for (let el of commentCollapseButton_1) {
if (isElementInViewport(el)) {
let parentElement = findParentElement(el, 'List-item') || findParentElement(el, 'Card '),
- commentCollapseButton = parentElement.querySelector('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
- //console.log(commentCollapseButton)
+ commentCollapseButton = parentElement.querySelector('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
if (commentCollapseButton.textContent.indexOf('收起评论') > -1) {
- //console.log('101010')
+ //console.log('999')
commentCollapseButton.click()
if (!isElementInViewport(commentCollapseButton)) {console.log(parentElement,parentElement.offsetTop,parentElement.offsetHeight);scrollTo(0,parentElement.offsetTop+parentElement.offsetHeight-50)}
+ commentCollapseButton__ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 评论元素 时)
break
}
}
}
}
+ if (commentCollapseButton__ == false) { // 如果上面的都没找到,那么就尝试寻找评论末尾的 [评论回复框]
+ let commentCollapseButton_2 = document.querySelectorAll('.Editable-content')
+ if (commentCollapseButton_2.length > 0) {
+ for (let el of commentCollapseButton_2) {
+ if (isElementInViewport(el)) {
+ let parentElement = findParentElement(el, 'List-item') || findParentElement(el, 'Card '),
+ commentCollapseButton = parentElement.querySelector('.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type')
+ //console.log(commentCollapseButton)
+ if (commentCollapseButton.textContent.indexOf('收起评论') > -1) {
+ //console.log('101010')
+ commentCollapseButton.click()
+ if (!isElementInViewport(commentCollapseButton)) {console.log(parentElement,parentElement.offsetTop,parentElement.offsetHeight);scrollTo(0,parentElement.offsetTop+parentElement.offsetHeight-50)}
+ break
+ }
+ }
+ }
+ }
+ }
}
}
}
@@ -419,10 +422,13 @@ function collapsedNowAnswer(selectors) {
// 回到顶部(监听点击事件,鼠标右键点击网页两侧空白处)
function backToTop(selectors) {
if (!menu_value('menu_backToTop')) return
- document.querySelector(selectors).oncontextmenu = function(event){
- if (event.target == this) {
- event.preventDefault();
- window.scrollTo(0,0)
+ let element = document.querySelector(selectors)
+ if (element) {
+ element.oncontextmenu = function(event){
+ if (event.target == this) {
+ event.preventDefault();
+ window.scrollTo(0,0)
+ }
}
}
}
@@ -1682,7 +1688,7 @@ function switchHomeRecommend() {
if (location.pathname.indexOf('question') > -1 && location.href.indexOf('/log') == -1) { // 回答页 //
if (location.pathname.indexOf('waiting') == -1) {
collapsedNowAnswer('.QuestionPage'); // 收起当前回答 + 快捷返回顶部
- collapsedNowAnswer('.Question-main'); // 收起当前回答 + 快捷返回顶部
+ collapsedNowAnswer('.QuestionPage>#AnswerFormPortalContainer+div>div:first-child'); //收起当前回答 + 快捷返回顶部
questionRichTextMore(); // 展开问题描述
if (location.pathname.indexOf('answer') == -1) { // 问题页而不是回答页
blockLowCount('question'); // 屏蔽低赞/低评回答/文章
@@ -1762,8 +1768,8 @@ function switchHomeRecommend() {
document.lastElementChild.appendChild(document.createElement('style')).textContent = '.Topstory-container {min-height: 1500px;}';
if (menu_value('menu_blockTypeVideo')) document.lastChild.appendChild(document.createElement('style')).textContent = `.Card .ZVideoItem-video, nav.TopstoryTabs > a[aria-controls="Topstory-zvideo"] {display: none !important;}`;
- collapsedNowAnswer('main div'); // 收起当前回答 + 快捷返回顶部
- collapsedNowAnswer('.Topstory-container'); // 收起当前回答 + 快捷返回顶部
+ collapsedNowAnswer('.App-main .Topstory'); // 收起当前回答 + 快捷返回顶部
+ collapsedNowAnswer('.App-main .Topstory-container'); // 收起当前回答 + 快捷返回顶部
if (location.pathname !== '/column-square'){ // 不是首页 - 专栏时
setInterval(function(){topTime_('.TopstoryItem', 'ContentItem-meta')}, 300); // 置顶显示时间
addTypeTips(); // 区分问题文章
diff --git a/other/Autopage/rules.json b/other/Autopage/rules.json
index af95f717a..62a1fe04f 100644
--- a/other/Autopage/rules.json
+++ b/other/Autopage/rules.json
@@ -1191,6 +1191,16 @@
"replaceE": ".pagination:not(#breadcrumb_multipage_popup)"
}
},
+ "kaspersky 论坛": {
+ "host": "forum.kaspersky.com",
+ "url": "/^\\/forum\\//",
+ "blank": 3,
+ "pager": {
+ "nextL": ".ipsPagination_next>a",
+ "pageE": ".ipsDataItem",
+ "replaceE": "div[data-role=tablePagination]>.ipsPagination"
+ }
+ },
"ptt.cc": {
"host": "www.ptt.cc",
"url": "/^\\/bbs\\/.+\\/index/",
@@ -2075,28 +2085,6 @@
"replaceE": "//a[contains(@class,'active')]/.."
}
},
- "Steam 创意工坊 - 项目列表": {
- "host": "steamcommunity.com",
- "url": "return (fun.indexOF('/workshop/browse') || fun.indexOF('/myworkshopfiles/'))",
- "pager": {
- "nextL": "//a[@class='pagebtn' and text()='>']",
- "pageE": ".workshopBrowseItems>*,.workshopItemSubscription,.workshopItemSubscription+script",
- "replaceE": ".workshopBrowsePaging,.workshopBrowsePagingWithBG",
- "scriptT": 2
- }
- },
- "Steam 社区 - 活动评论": {
- "host": "steamcommunity.com",
- "url": "return (fun.indexOF(/eventcomments\\/\\d/))",
- "style": ".forum_paging_controls",
- "history": true,
- "pager": {
- "nextL": "js; return fun.getNextUP('ctp=',/ctp=\\d+/,location.pathname,'2',fun.getCSS('span.commentthread_pagelinks>a:last-child').textContent)",
- "pageE": ".commentthread_comments>.commentthread_comment",
- "replaceE": ".forum_paging .forum_paging_summary",
- "scriptT": 1
- }
- },
"小霸王其乐无穷": {
"host": "www.yikm.net",
"blank": 3,
@@ -3492,7 +3480,7 @@
}
},
"包子漫画": {
- "host": ["www.czmanga.com","cn.czmanga.com","www.webmota.com","cn.webmota.com","cn.baozimh.com","cn.baozimhcn.com","tw.baozimhcn.com","cn.dzmanga.com","tw.dzmanga.com","www.twmanga.com","www.kukuc.co","cn.kukuc.co"],
+ "host": ["www.baozimh.com","cn.baozimh.com","www.bzmgcn.com","cn.bzmgcn.com","www.czmanga.com","cn.czmanga.com","www.webmota.com","cn.webmota.com","cn.baozimh.com","cn.baozimhcn.com","tw.baozimhcn.com","cn.dzmanga.com","tw.dzmanga.com","www.twmanga.com","www.kukuc.co","cn.kukuc.co","cn.cnbzmg.com","tw.cnbzmg.com"],
"url": "if (fun.indexOF('/chapter/')) {return true;} else if (fun.indexOF('/comic/')) {if (fun.getCSS('#button_show_all_chatper')) {fun.getCSS('#button_show_all_chatper').click();}}",
"style": "#footer,#header {display: none !important;} .header,.bottom-bar {opacity: 0.3;}",
"history": true,
@@ -5970,7 +5958,7 @@
},
"Xvideos": {
"host": ["www.xnxx.com","www.xvideos.com"],
- "url": "return fun.isPager('p,r')",
+ "url": "if(fun.isPager('p,r')){if(fun.indexOF(/^\\/best\\//)){rule.pager.pageE='.mozaique>*,head>script:not([src]),head>script[src$=\\'/runtime.bundle.js\\']';rule.pager.scriptT=2;rule.function.aF='';};return true;}",
"blank": 3,
"pager": {
"nextL": "a.next-page,a.next",
@@ -6161,6 +6149,16 @@
"replaceE": ".pages"
}
},
+ "2048 论坛": {
+ "host": "hjd2048.com",
+ "url": "/\\/thread\\.php/",
+ "style": "tr[onmouseover]",
+ "pager": {
+ "nextL": ".pages>b+a",
+ "pageE": "#ajaxtable>tbody[style]>tr",
+ "replaceE": ".pages"
+ }
+ },
"M系镜像": {
"host": "mirror.chromaso.net",
"url": "if(fun.indexOF(/^\\/thread\\/.+/)){rule.thread=true;rule.pager.pageE='.container>.mm-post';return true;}else if(fun.indexOF(/^\\/(forum|search)\\/.+/)){rule.blank=3;return true;}",
@@ -6489,8 +6487,18 @@
"replaceE": ".pagination"
}
},
+ "18AV": {
+ "host": ["18av.mm-cg.com","/^mjv\\d{3}\\.com$/"],
+ "url": "return fun.isPager()",
+ "blank": 3,
+ "pager": {
+ "nextL": ".previous-next a",
+ "pageE": ".post",
+ "replaceE": ".pagination-row"
+ }
+ },
"JavBooks": {
- "host": ["javbooks.com","jmvbt.com","/^[a-z]{2}\\d{4}\\.com$/"],
+ "host": ["javbooks.com","jmvbt.com","/^jkk\\d{3}\\.com$/"],
"url": "return (fun.isTitle('Javbooks') && !fun.indexOF('/content_'))",
"blank": 3,
"pager": {
@@ -7227,6 +7235,24 @@
"replaceE": ".wp-pagenavi"
}
},
+ "JComic": {
+ "host": "jcomic.net",
+ "url": "/^\\/page\\//",
+ "pager": {
+ "nextL": "//div[@class='container']//a/button[text()='下一章']/..",
+ "pageE": ".container>.container+.row.col-lg-12.col-md-12.col-xs-12>img",
+ "replaceE": ".container>.row.col-lg-12.col-md-12.col-xs-12:first-child"
+ }
+ },
+ "JComic - cat": {
+ "host": "jcomic.net",
+ "url": "/^\\/cat\\//",
+ "pager": {
+ "nextL": ".pagination>.active+li>a",
+ "pageE": "body>.container>div>.row.col-lg-4.col-md-6.col-xs-12",
+ "replaceE": ".pagination"
+ }
+ },
"色漫天堂": {
"host": "smtt6.com",
"url": "/^\\/man-hua-yue-du\\//",
@@ -7379,6 +7405,7 @@
"pager": {
"nextL": ".next",
"pageE": ".wp-block-image>img",
+ "insertP": [".content-main",3],
"replaceE": ".simple-page-nav"
},
"function": {
@@ -7618,7 +7645,7 @@
}
},
"凸凹吧 tuao.cc": {
- "host": "www.tuao.cc",
+ "host": ["www.tuao.cc","www.nnao.cc","www.24ao.cc"],
"url": "if(fun.indexOF(/^\\/Articles\\/Content\\//)){let d=document.querySelector('#imgData');if(d&&d.value){let a=d.value.split('|');if(a.length>4){const container=document.getElementById('pageContainer');let i=4;const timer=setInterval(()=>{if(i>=a.length){clearInterval(timer);return};const img=document.createElement('img');img.src=atob(a[i]);container.appendChild(img);i++},1000)};return true};}",
"style": "#pagination,body>div:last-of-type,ins",
"hiddenPN": true
@@ -7848,13 +7875,16 @@
}
},
"黑料网": {
- "host": ["18hlw.com","www.hlwxx.com","/.*/"],
+ "host": ["heiliao.com","18hlw.com","www.hlwxx.com","/.*/"],
"url": "return (!fun.indexOF('/archives/') && fun.isTitle('黑料网') && fun.isPager())",
"style": ".video-item {height: auto !important;} #notice_container, .infomation, .addbox{display: none !important;}",
"blank": 3,
"pager": {
+ "type": 6,
"nextL": "a.next",
- "pageE": ".video-item"
+ "pageE": ".video-item",
+ "loadTime": 800,
+ "scrollD": 3000
}
},
"子夜动漫/七味网 类通用规则": {