网页瞬间加载说明
适用:Tampermonkey / Violentmonkey 等 Userscript 管理器。
一句话:它会提前预加载你可能会点开的链接,并在你点击时尽量跳过站点自带的进度条/中转页,实现“点一下就开内容”的体验;同时会对常见重定向链接做净化,把真正目标地址还原出来。
注意:使用后可以反馈bug或者需求,但修复和更新皆随缘,此脚本不保证适合所有人。我用此脚本也仅使用白名单模式,即只在我经常浏览的网页使用,能明显提高阅读体验,但不保证所有网站都可以使用。
目录
- 1. 这脚本能做什么
- 2. 快速开始(3 分钟上手)
- 3. 你会看到哪些界面与入口
- 4. 核心概念(先看懂这些,后面设置就不迷糊)
- 5. 设置项逐条详解(按面板分区)
- 6. 典型场景配置(照抄即可)
- 7. 黑名单/白名单与站点规则
- 8. 预加载命中与“为什么没生效”排查
- 9. 隐私与安全说明(非常重要)
- 10. 性能与资源占用说明
- 11. 常见问题 FAQ
- 12. 进阶:设置迁移/导入导出/回滚
1. 这脚本能做什么
1.1 主要能力
链接预加载(Preload)
- 在你“可能要点”的链接进入视口附近、或你鼠标悬停时,脚本会尝试提前请求目标页面。
- 预加载成功后,你点击该链接时,会尽量直接展示/打开真实内容,避免等待。如果网页发生空白或者明显不支持预加载。请使用加入黑名单快捷键加入黑名单,或者使用跳转快捷键直接跳转到当前页。
- 或者启用白名单列表,只在你确认有效的网页使用此脚本。
重定向链接优化(Redirect Optimization)
- 对常见“中转/跳转”链接进行解析,尽量把真实目标地址还原出来。
- 目标:减少“先跳到中转页再跳走”的等待与风险。
预览渲染(Preview Render)
- 命中预加载后,可用“内联/Shadow DOM/Sandbox iframe”等方式展示内容,以平衡:
- 兼容性(不破站)
- 隔离性(不被样式/脚本污染)
- 速度(越隔离越可能缺资源)
- 命中预加载后,可用“内联/Shadow DOM/Sandbox iframe”等方式展示内容,以平衡:
缓存(Cache)
- 预加载到的内容可以写入浏览器的 IndexedDB(本地数据库)。
- 这能让“第二次命中”更快,也能减少重复请求。
点击拦截(Click Intercept)
- 可选择让脚本接管你点击链接后的行为(强体验),或只在命中预加载时接管(更稳)。
安全优先开关(安全模式/敏感预加载/敏感缓存/高风险站点)
- 用于降低误伤:对登录、支付、回调等敏感页面,默认不预加载/不缓存。
1.2 它“不承诺”的事(提前说清楚)
- 并非所有站点都能“百分之百秒开”。原因包括:
- 站点强反爬、强校验、动态渲染重、CSP 限制、跨域资源限制等。
- “原生预取/预渲染”属于浏览器提示机制,浏览器可能忽略。
- 对极少数站点,过激的拦截/预加载可能造成登录态异常、跳转异常或内容展示不完整。
2. 快速开始(3 分钟上手)
2.1 安装与启用
- 在浏览器安装脚本管理器:
- Tampermonkey(推荐)或 Violentmonkey。
- 安装脚本
网页瞬间加载.user.js(来自你可信的来源)。 - 确认脚本已启用。
提示:脚本默认
@match *://*/*,理论上几乎所有网站都会加载,但“是否生效”仍取决于你是否启用了拦截/预加载/站点规则等。
2.2 第一次建议怎么用(最稳的入门路径)
- 保持默认:
- 高风险站点:开启(默认跳过网盘/下载站类站点的预加载)
- 敏感预加载:开启(默认避免登录/支付/回调)
- 敏感缓存:开启(避免带 token/code 的页面写入缓存)
- 把你常用的网站加入白名单(如果你倾向“只在少数站点生效”)。
- 或者反过来:遇到破站的站点加入黑名单。
2.3 验证是否生效
你可以用以下方法快速判断:
- 打开任意信息流/列表页(例如文章列表)。
- 等待几秒,滚动一点,让链接进入视口。
- 点击某个链接:
- 若命中预加载,通常会明显更快。
- 若脚本有“加载完样式”(例如下划线/高亮),你会在链接上看到提示样式。
- 打开设置面板,在底部状态栏查看:
- 队列(等待处理)
- 并发(正在加载)
- 缓存(命中/写入情况)
3. 你会看到哪些界面与入口
3.1 脚本菜单入口(最可靠)
在脚本管理器菜单(Tampermonkey 图标 → 当前页面脚本 → 菜单项)里,通常会有:
- 打开设置面板
- 快捷键设置
- 切换当前站点黑名单 / 白名单
- 版本历史 / 更新日志(如果提供)
不同管理器 UI 略有差异,但脚本菜单永远是“不会被网页挡住”的入口。
3.2 页面内 UI(设置面板、状态栏、提示卡片)
脚本会在页面上注入一些 UI 组件:
- 设置面板:分区(快捷 / 预加载 / 预览渲染 / 缓存 / 站点规则 / 高级 / 工具)。
- 底部状态栏:显示运行期关键指标(队列/并发/缓存/降级等),用于快速判断“是不是在工作”。
- 提示卡片:用于引导或提醒(例如操作球、密度设置、导入导出等)。
3.3 快捷键
默认脚本提供多组快捷键(可在设置里改):
- 返回/前进(增强浏览体验)
- 打开设置
- 一键切换黑名单/白名单
- 其它站内工具快捷键
快捷键是“效率入口”,但如果你不确定冲突,建议先保持默认或只改你明确需要的。
4. 核心概念(先看懂这些,后面设置就不迷糊)
4.1 预加载 vs 点击拦截
- 预加载:提前把目标页面请求回来(或部分请求)。
- 点击拦截:你点击链接时,脚本决定是否“接管这次点击”,比如:
- 命中预加载 → 直接展示/打开
- 未命中 → 走普通跳转
两者关系:
- 预加载是“准备弹药”,点击拦截是“开火方式”。
4.2 队列 vs 并发
- 队列:等待处理的候选链接数量(还没开始请求)。
- 并发:当前同时在请求的数量(正在进行)。
你把并发调大:速度可能更快,但更容易:
- 占用网络带宽
- 被站点限流/封禁
- 页面卡顿
你把并发调小:更稳、更省资源,但预加载覆盖率可能下降。
4.3 命中(Hit)与未命中(Miss)
- 命中:点击时该链接已经预加载成功(或缓存可用)。
- 未命中:点击时没准备好。
未命中通常不代表脚本坏了,常见原因:
- 链接没进入视口/没悬停
- 被规则跳过(高风险站点/敏感 URL/黑名单/非 http)
- 并发/队列限制
- 站点策略限制(CSP/反爬)
4.4 预览渲染的三种模式(理解“兼容 vs 隔离”)
- 内联(inline):兼容优先,最快,最容易完整显示,但可能有样式污染。
- Shadow DOM:隔离大部分 CSS,减少污染,但不保证 100% 完美。
- Sandbox iframe(srcdoc):隔离最强,更安全,但外链资源/CSP 可能导致样式或脚本缺失。
选型建议:默认内联;遇到样式污染再考虑 Shadow;遇到安全/隔离需求再上 Sandbox。
5. 设置项逐条详解(按面板分区)
说明:下文以“设置面板”的分区结构为主。你的 UI 可能会因版本略有差异,但核心概念一致。
5.1 「快捷」分区
5.1.1 安全模式(safeMode)
- 作用:一键进入“安全优先”。
- 开启后:只保留“重定向净化”等低风险能力,不做预加载/内联预览/点击拦截。
- 适用:网银、支付、企业 SSO、登录流程复杂的站点。
建议:
- 平时关闭;遇到破站/异常时临时开启定位问题。
5.1.2 点击拦截(clickInterceptMode)
这是体验差异最大的开关之一:
- 全拦截:所有普通点击都由脚本接管(体验最“强”)。
- 仅命中拦截:只有命中预加载的链接才接管(更稳)。
- 仅同源:只接管同源链接(跨域保持原样)。
- 仅白名单:只接管白名单域名。
- 关闭拦截:完全不接管点击(脚本仍可做预加载/缓存/净化等)。
建议:
- 新手:从“仅命中拦截”开始。
- 追求极致体验:用“全拦截”,但务必学会黑名单。
5.1.3 预览渲染(previewRenderMode)
- 内联 / Shadow DOM / Sandbox iframe:见 4.4。
5.1.4 原生预取(useNativePrefetch)
- 说明:脚本只注入
<link rel=prefetch/prerender>提示,最终是否执行由浏览器决定。 - 特点:省资源/更像“提示”,但不稳定。
5.1.5 高风险站点(disableHighRiskPreload)
- 默认建议开启。
- 网盘/下载站/分享站常带鉴权/下载行为,预加载更容易误伤。
5.1.6 敏感缓存(disableSensitiveCache)与敏感预加载(disableSensitivePreload)
- 敏感缓存:遇到带 token/code/state 等参数的 URL,不写入 IndexedDB。
- 敏感预加载:对疑似登录/支付/回调等 URL,不预加载/不预览/不拦截。
建议:
- 一般保持开启(更稳)。
5.2 「预加载」分区
5.2.1 并发加载数(concurrentLoadingNumber)
- 意义:最多同时进行多少个预加载请求。
- 当前默认:2。
经验建议:
- 低配设备/移动网络:1~2
- 普通办公网络:2~4
- 很强的网络与电脑:4~6(但更容易被站点限制)
5.2.2 自适应并发(enableAdaptiveConcurrency)
- 开启后:脚本会参考近期 RTT、失败率、网络情况(省流/慢网)、硬件线程数、内存等,只下调不抬高。
- 好处:更稳、更少超时与反爬触发。
如果你明确想“严格固定并发=你设置的数”,可以关闭它。
5.2.3 HEAD 预检(useHeadPrecheck)
- 预加载前先用 HEAD 识别是否附件/非 HTML,避免误缓存。
- 某些站点不支持 HEAD,失败会自动降级为 GET。
5.2.4 预测数量(preloadAheadCount)
- 近似理解:脚本“会盯住多少个候选链接”。
- 值越大:覆盖率更高,但 CPU/网络消耗更高。
5.2.5 扫描间隔(preloadScanIntervalMs)
- 多久扫描一次页面上的链接候选。
- 太小:更“激进”,但更可能卡顿。
5.2.6 队列上限(maxPreloadQueueLength)与队列过期(preloadQueueExpireMs)
- 队列上限:防止无限滚动导致队列爆炸。
- 队列过期:候选太久未处理就清理掉。
5.2.7 每域并发(perDomainInFlightLimit)
- 限制同一域名同时进行的预加载数量。
- 典型用途:防止某一个站点把并发占满,导致其它站点饿死。
5.2.8 预加载统计(enablePreloadStats)
- 只在本地记录命中/失败原因。
- 用于排查“为什么没命中”。
5.3 「预览渲染」分区
5.3.1 Sandbox 权限(sandboxPermissions / sandboxAllowSameOrigin 等)
仅当预览渲染选择 Sandbox iframe 时生效。
allow-same-origin:样式更完整,但隔离更弱。allow-scripts:允许脚本运行,风险更高。allow-forms/allow-popups:按需开启。
建议:
- 默认尽量少开。
- 只有你明确需要预览里可交互/可登录时才考虑开启。
5.3.2 加载完样式(loadedStyle + 颜色配置)
- 命中预加载后,对链接加提示样式(下划线/高亮/边框/文字颜色等)。
- 作用:让你“肉眼可见”脚本在工作。
5.4 「缓存」分区
5.4.1 最大内容项(maxContentSize)
- 限制单条缓存内容最大大小(MB)。
- 太大:容易占用存储、写入慢。
5.4.2 内存缓存(memCacheMaxItems / memCacheMaxBytesMb)
- 用于规避 IndexedDB 写入延迟,命中更快。
- 属于“本页临时缓存”,刷新页面就没了。
5.4.3 最大存储项(maxStorageItems)与域名配额(maxStorageItemsPerDomain)
- 最大存储项:全局最多存多少条。
- 域名配额:单站点最多存多少条。
5.4.4 敏感白名单(sensitiveCacheWhitelistDomains)
- 用于“某站点虽然带参数,但你仍希望缓存”的例外情况。
5.5 「站点规则」分区
- 黑名单/白名单:见 7。
- 按域名覆盖:允许对某些站点单独设定点击拦截策略。
- 规则增强:支持路径前缀/子域通配/正则匹配(更强但更容易写错)。
5.6 「高级」分区(常见重要项)
5.6.1 去掉 Hash(dedupStripHash)
- 作用:把 URL 的
#hash当作“可忽略”,提升去重命中。 - 风险:少数站点 hash 表示不同内容,可能误合并。
5.6.2 追踪参数清理(cleanTrackingParams)
- 作用:移除
utm_*、spm等追踪参数,URL 更干净。 - 注意:极少数站点可能把参数当作必须字段。
5.6.3 异步资源(asynchronousResources)
- 用于动态加载资源的处理策略。
- 设备弱/站点复杂时建议谨慎。
5.6.4 性能监控(showPerformanceMonitor)
- 打开后在面板显示 FPS/MS/内存等。
- 仅建议用于调试。
5.7 「工具」分区
- 设置管理:导入/导出/回滚(见 12)。
6. 典型场景配置(照抄即可)
6.1 “我只要稳,不要破站”
- 点击拦截:仅命中拦截
- 预览渲染:内联
- 并发加载数:1~2
- 自适应并发:开启
- 高风险站点/敏感预加载/敏感缓存:开启
6.2 “我想极致快,不怕折腾”
- 点击拦截:全拦截
- 并发加载数:4~6
- 自适应并发:可关闭(更“刚”)
- 遇到破站:第一时间把站点加黑名单
6.3 “我只在少数网站用”
- 点击拦截:仅白名单
- 白名单列表:加入你常用的 3~10 个域名
- 黑名单:保持默认或按需添加
6.4 “我在移动端,流量和电量优先”
- 并发加载数:1~2
- 预测数量:偏小(例如 4~6)
- 扫描间隔:偏大(例如 400~800ms)
- 原生预取:可尝试开启(看浏览器是否支持/是否省电)
7. 黑名单/白名单与站点规则
7.1 黑名单(blacklistDomains)
- 用于“这站点就是不适合脚本接管”的情况。
- 推荐“一行一个域名”。
- 支持粘贴 URL 自动提取域名(如果 UI 支持)。
典型加入黑名单的站点:
- 登录/支付强校验
- 单页应用(SPA)且路由复杂
- 站点本身会重写点击行为(例如特殊视频站/下载站)
7.2 白名单(whitelistDomains)
- 用于“只在我指定站点启用”。
- 适合办公/学习场景,把脚本限制在少数资讯站、论坛。
7.3 按域名覆盖(站点规则编辑器)
- 你可以为某个域名单独设定点击拦截策略。
- 推荐用法:
- 对大多数站点用“仅命中拦截”
- 对少数你非常信任且结构简单的站点用“全拦截”
- 对敏感站点用“关闭拦截”
8. 预加载命中与“为什么没生效”排查
按优先级排查:
你是不是开了安全模式?
- 安全模式开启时,不做预加载/拦截。
当前站点是否在黑名单?
- 如果在黑名单,很多行为会被跳过。
点击拦截模式是否允许当前链接被接管?
- 例如你设置了“仅白名单”,但当前站点不在白名单。
链接是否被判定为敏感/高风险?
- 带 token/code/state 的参数
- 路径含 login/oauth/payment 等
- 网盘/下载站域名
并发/队列是否太低或被占满?
- 看底部状态栏的“队列/并发”。
是否是非 HTTP(S) 链接?
mailto:、javascript:、data:等会被跳过。
站点是否限制了请求?
- 反爬、CORS、CSP、需要登录态。
尝试打开“预加载统计/日志”看原因
- 预加载统计开启后,通常能看到“跳过原因”。
9. 隐私与安全说明(非常重要)
- 脚本的预加载/缓存发生在你的浏览器本地。
- “预加载”本质是提前发起网络请求:
- 可能会让目标站点提前看到一次访问(与正常点击相比时间更早)。
- “缓存”会把部分页面内容写到 IndexedDB:
- 仅用于加速,不应用于缓存敏感页面。
脚本已提供多层保护(建议不要随意关闭):
- 高风险站点默认跳过预加载
- 敏感 URL 默认不预加载/不缓存
- Sandbox iframe 默认权限保守
如果你在公司/企业环境:
- 建议把内部系统加入黑名单,或长期启用安全模式。
10. 性能与资源占用说明
你主要会遇到三类开销:
- 网络开销:预加载会额外请求页面。
- CPU/内存开销:扫描链接、管理队列、渲染预览。
- 存储开销:IndexedDB 缓存占用磁盘。
控制手段:
- 降低并发
- 增大扫描间隔
- 降低预测数量
- 降低缓存上限/域名配额
- 关闭不需要的功能(如性能监控、某些高级渲染模式)
11. 常见问题 FAQ
Q1:为什么我点链接还是会看到站点自己的进度条?
- 可能未命中预加载。
- 可能站点的跳转逻辑需要执行自身脚本,脚本无法完全绕过。
- 可能你的拦截模式设置为“关闭拦截/仅命中”等。
Q2:为什么有些站点预览样式乱了?
- 内联模式会引入目标页面的 CSS/结构,可能污染当前页面。
- 尝试:把“预览渲染”切到 Shadow DOM 或 Sandbox。
Q3:为什么登录/支付站点表现异常?
- 这类站点对预加载敏感。
- 建议:加入黑名单,或开启安全模式。
Q4:为什么缓存占用越来越大?
- IndexedDB 会累积。
- 调低
maxStorageItems/maxStorageItemsPerDomain,并启用清理。
Q5:快捷键冲突怎么办?
- 在设置里改快捷键。
- 优先避开浏览器/常用扩展已占用的组合。
12. 进阶:设置迁移/导入导出/回滚
12.1 导出
- 在“工具 → 设置管理”中导出当前所有设置为 JSON。
- 用途:
- 多设备同步
- 重装/换浏览器后恢复
12.2 导入
- 粘贴 JSON 导入。
- 推荐做法:
- 导入前先备份(脚本通常会自动备份)。
- 如果导入后异常,一键回滚。
12.3 回滚
- 用于“导入后破站/设置搞乱了”的快速自救。