⭐网页瞬间加载⭐

创建于 2 个月前
更新于 2 个月前
链接跳过进度条瞬间加载,并优化删除重定向链接,所有参数可高度自定义。
总安装量
500
今日新增
+0
用户评分
- / 5.0 (0)
当前版本
1.0.17
脚本详情
适用网站
许可协议MPL-2.0

网页瞬间加载说明

适用:Tampermonkey / Violentmonkey 等 Userscript 管理器。

一句话:它会提前预加载你可能会点开的链接,并在你点击时尽量跳过站点自带的进度条/中转页,实现“点一下就开内容”的体验;同时会对常见重定向链接做净化,把真正目标地址还原出来。

注意:使用后可以反馈bug或者需求,但修复和更新皆随缘,此脚本不保证适合所有人。我用此脚本也仅使用白名单模式,即只在我经常浏览的网页使用,能明显提高阅读体验,但不保证所有网站都可以使用。


目录


1. 这脚本能做什么

1.1 主要能力

  1. 链接预加载(Preload)

    • 在你“可能要点”的链接进入视口附近、或你鼠标悬停时,脚本会尝试提前请求目标页面。
    • 预加载成功后,你点击该链接时,会尽量直接展示/打开真实内容,避免等待。如果网页发生空白或者明显不支持预加载。请使用加入黑名单快捷键加入黑名单,或者使用跳转快捷键直接跳转到当前页。
    • 或者启用白名单列表,只在你确认有效的网页使用此脚本。
  2. 重定向链接优化(Redirect Optimization)

    • 对常见“中转/跳转”链接进行解析,尽量把真实目标地址还原出来。
    • 目标:减少“先跳到中转页再跳走”的等待与风险。
  3. 预览渲染(Preview Render)

    • 命中预加载后,可用“内联/Shadow DOM/Sandbox iframe”等方式展示内容,以平衡:
      • 兼容性(不破站)
      • 隔离性(不被样式/脚本污染)
      • 速度(越隔离越可能缺资源)
  4. 缓存(Cache)

    • 预加载到的内容可以写入浏览器的 IndexedDB(本地数据库)。
    • 这能让“第二次命中”更快,也能减少重复请求。
  5. 点击拦截(Click Intercept)

    • 可选择让脚本接管你点击链接后的行为(强体验),或只在命中预加载时接管(更稳)。
  6. 安全优先开关(安全模式/敏感预加载/敏感缓存/高风险站点)

    • 用于降低误伤:对登录、支付、回调等敏感页面,默认不预加载/不缓存。

1.2 它“不承诺”的事(提前说清楚)

  • 并非所有站点都能“百分之百秒开”。原因包括:
    • 站点强反爬、强校验、动态渲染重、CSP 限制、跨域资源限制等。
  • “原生预取/预渲染”属于浏览器提示机制,浏览器可能忽略。
  • 对极少数站点,过激的拦截/预加载可能造成登录态异常、跳转异常或内容展示不完整。

2. 快速开始(3 分钟上手)

2.1 安装与启用

  1. 在浏览器安装脚本管理器:
    • Tampermonkey(推荐)或 Violentmonkey。
  2. 安装脚本 网页瞬间加载.user.js(来自你可信的来源)。
  3. 确认脚本已启用。

提示:脚本默认 @match *://*/*,理论上几乎所有网站都会加载,但“是否生效”仍取决于你是否启用了拦截/预加载/站点规则等。

2.2 第一次建议怎么用(最稳的入门路径)

  • 保持默认:
    • 高风险站点:开启(默认跳过网盘/下载站类站点的预加载)
    • 敏感预加载:开启(默认避免登录/支付/回调)
    • 敏感缓存:开启(避免带 token/code 的页面写入缓存)
  • 把你常用的网站加入白名单(如果你倾向“只在少数站点生效”)。
  • 或者反过来:遇到破站的站点加入黑名单。

2.3 验证是否生效

你可以用以下方法快速判断:

  1. 打开任意信息流/列表页(例如文章列表)。
  2. 等待几秒,滚动一点,让链接进入视口。
  3. 点击某个链接:
    • 若命中预加载,通常会明显更快。
    • 若脚本有“加载完样式”(例如下划线/高亮),你会在链接上看到提示样式。
  4. 打开设置面板,在底部状态栏查看:
    • 队列(等待处理)
    • 并发(正在加载)
    • 缓存(命中/写入情况)

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. 预加载命中与“为什么没生效”排查

按优先级排查:

  1. 你是不是开了安全模式?

    • 安全模式开启时,不做预加载/拦截。
  2. 当前站点是否在黑名单?

    • 如果在黑名单,很多行为会被跳过。
  3. 点击拦截模式是否允许当前链接被接管?

    • 例如你设置了“仅白名单”,但当前站点不在白名单。
  4. 链接是否被判定为敏感/高风险?

    • 带 token/code/state 的参数
    • 路径含 login/oauth/payment 等
    • 网盘/下载站域名
  5. 并发/队列是否太低或被占满?

    • 看底部状态栏的“队列/并发”。
  6. 是否是非 HTTP(S) 链接?

    • mailto:javascript:data: 等会被跳过。
  7. 站点是否限制了请求?

    • 反爬、CORS、CSP、需要登录态。
  8. 尝试打开“预加载统计/日志”看原因

    • 预加载统计开启后,通常能看到“跳过原因”。

9. 隐私与安全说明(非常重要)

  • 脚本的预加载/缓存发生在你的浏览器本地。
  • “预加载”本质是提前发起网络请求:
    • 可能会让目标站点提前看到一次访问(与正常点击相比时间更早)。
  • “缓存”会把部分页面内容写到 IndexedDB:
    • 仅用于加速,不应用于缓存敏感页面。

脚本已提供多层保护(建议不要随意关闭):

  • 高风险站点默认跳过预加载
  • 敏感 URL 默认不预加载/不缓存
  • Sandbox iframe 默认权限保守

如果你在公司/企业环境:

  • 建议把内部系统加入黑名单,或长期启用安全模式。

10. 性能与资源占用说明

你主要会遇到三类开销:

  1. 网络开销:预加载会额外请求页面。
  2. CPU/内存开销:扫描链接、管理队列、渲染预览。
  3. 存储开销:IndexedDB 缓存占用磁盘。

控制手段:

  • 降低并发
  • 增大扫描间隔
  • 降低预测数量
  • 降低缓存上限/域名配额
  • 关闭不需要的功能(如性能监控、某些高级渲染模式)

11. 常见问题 FAQ

Q1:为什么我点链接还是会看到站点自己的进度条?

  • 可能未命中预加载。
  • 可能站点的跳转逻辑需要执行自身脚本,脚本无法完全绕过。
  • 可能你的拦截模式设置为“关闭拦截/仅命中”等。

Q2:为什么有些站点预览样式乱了?

  • 内联模式会引入目标页面的 CSS/结构,可能污染当前页面。
  • 尝试:把“预览渲染”切到 Shadow DOM 或 Sandbox。

Q3:为什么登录/支付站点表现异常?

  • 这类站点对预加载敏感。
  • 建议:加入黑名单,或开启安全模式。

Q4:为什么缓存占用越来越大?

  • IndexedDB 会累积。
  • 调低 maxStorageItems / maxStorageItemsPerDomain,并启用清理。

Q5:快捷键冲突怎么办?

  • 在设置里改快捷键。
  • 优先避开浏览器/常用扩展已占用的组合。

12. 进阶:设置迁移/导入导出/回滚

12.1 导出

  • 在“工具 → 设置管理”中导出当前所有设置为 JSON。
  • 用途:
    • 多设备同步
    • 重装/换浏览器后恢复

12.2 导入

  • 粘贴 JSON 导入。
  • 推荐做法:
    • 导入前先备份(脚本通常会自动备份)。
    • 如果导入后异常,一键回滚。

12.3 回滚

  • 用于“导入后破站/设置搞乱了”的快速自救。