URLPattern匹配测试器 - 现代路由规则
输入URL模式字符串(通配符、命名组)和测试URL,验证是否匹配并提取参数。
UD5工具箱
| 网络类型 | 典型下行 | 典型上行 | 典型RTT | 视频推荐 | 图标 |
|---|---|---|---|---|---|
| Slow 2G | ~50 Kbps | ~20 Kbps | ~2000 ms | 不支持 | |
| 2G | ~70 Kbps | ~30 Kbps | ~1400 ms | 不支持 | |
| 3G | ~700 Kbps | ~300 Kbps | ~270 ms | 360p | |
| 4G / LTE | ~10 Mbps | ~5 Mbps | ~50 ms | 1080p | |
| 5G | ~100+ Mbps | ~50+ Mbps | ~10 ms | 4K |
effectiveType 是 Network Information API 中的一个属性,表示浏览器对当前网络连接的有效类型估计。它不是真实的网络制式(如4G LTE),而是基于实际观测到的网络性能(RTT和下行速度)得出的综合判断。
可能的取值:
浏览器通过观察近期HTTP请求的实际传输速率来估算 downlink 值。它会记录页面加载过程中各个资源(图片、脚本、样式等)的下载速度,并使用算法(通常是滑动窗口平均或指数加权移动平均)得出一个估计值,单位为 Mbps。
这意味着:
RTT(Round-Trip Time) 是数据包从发送端到接收端再返回的总耗时,以毫秒(ms)为单位。它对网络体验的影响:
高RTT会严重影响网页加载性能,因为每个资源请求都需要经过完整的往返。这也是为什么CDN和边缘计算能大幅提升体验——它们缩短了物理距离从而降低RTT。
Network Information API 的浏览器支持情况:
在不支持的浏览器中,navigator.connection 可能只暴露基本的 type 属性或完全不可用。此工具会自动检测并提示。对于不支持的浏览器,建议使用主动测速来评估网络质量。
saveData 是浏览器(主要是Chrome移动版)提供的一个标志,当用户在设备设置中开启"省流量"或"数据节省"模式时为 true。
作为开发者,可以这样利用:
这是一种尊重用户意图的做法,能显著提升慢速/流量敏感用户的体验。
基于网络信息的自适应加载策略可以大幅提升用户体验:
示例代码:navigator.connection.addEventListener('change', updateStrategy);
| 网络制式 | 理论下行峰值 | 典型实际下行 | 典型RTT |
|---|---|---|---|
| 2G (GPRS) | 114 Kbps | 30-70 Kbps | 600-2000ms |
| 2.5G (EDGE) | 384 Kbps | 100-200 Kbps | 300-800ms |
| 3G (UMTS) | 2 Mbps | 300-700 Kbps | 100-400ms |
| 3.5G (HSPA+) | 21 Mbps | 2-8 Mbps | 50-150ms |
| 4G (LTE) | 150 Mbps | 10-50 Mbps | 20-80ms |
| 4G+ (LTE-A) | 300 Mbps | 50-150 Mbps | 10-50ms |
| 5G | 10 Gbps | 100-500 Mbps | 1-10ms |
两者各有优劣,结合使用效果最佳:
最佳实践:使用API作为初始判断依据,在必要时(如用户即将进行大文件下载)进行主动测速以获取更精确数据。同时监听change事件,在API估算值变化时及时更新策略。
输入URL模式字符串(通配符、命名组)和测试URL,验证是否匹配并提取参数。
获取和释放命名锁,观察多个标签页如何排队等待资源访问。
添加、列出和删除内容索引中的条目,展示离线可用内容。
点选电阻连接方式(串联/并联),输入阻值,逐步计算等效总电阻。
在页面上叠加可拖拽的半透明网格线,辅助网格布局对齐。
在任意网页上投射可拖拽调整的栅格覆盖线,用来测量和对齐设计稿。
检测浏览器是否支持特定自定义协议(如mailto:, tg:),并尝试调用。
粘贴JSON对象,生成可折叠的树形视图,点击节点复制其键值路径,方便调试。
将数字替换为自定义文字或Emoji,照样合并往更高阶进化。
完整展示HTTP状态码及其含义,按类别分组,支持搜索,是前端和后端开发常用的快速参考。
在绘图板画几条直线,算法自动利用霍夫变换检测并高亮出这些线段。
为页面上使用CSS Grid的元素显示网格线和名称,辅助布局开发和调试。
输入OpenID Provider域名,自动请求 .well-known/openid-configuration 并格式化显示。
快速检测系统是否支持特定的URL Scheme(如mailto:、tel:、tg:)。
通过Web MIDI API连接键盘,实时显示收到的音符开/关与控制器变化。
输入短链接或URL,逐跳追踪HTTP 301/302等重定向,显示最终目标。
拖放 lcov.info 文件,以颜色标示每行代码的覆盖状态。
模拟资源请求,对比ETag值,展示返回304 Not Modified的缓存协商机制,理解HTTP缓存。
粘贴带参数的URL,以表格形式列出所有Query参数与值。
编写Brainfuck代码,以可视化的方式步进执行,观察活动纸带和指针。
绑定动画进度到滚动位置,交互式调整参数,直观理解scroll-timeline和view-timeline。
在网格上设置起点/终点和障碍,动态演示广度优先、深度优先、A*等搜索过程。
绘制或生成迷宫墙,选择DFS或BFS算法自动寻找出口,动画展示探索过程。
搜索CSS属性,显示其在主流浏览器的支持范围和前缀需求,快速避免踩坑。
并列播放所有CSS内置缓动函数(ease, linear等)的动画效果,方便对比选择。
展示几组在各类色盲下仍可区分的定性数据配色方案,含Hex码。
在主线程和 Worker 之间使用 SharedArrayBuffer 和 Atomics 进行同步通信。
输入 HTML 或网址,提取所有标题标签,生成文档大纲树,检测跳跃和缺失。
拖拽与门、或门、非门等构建组合逻辑电路,输入高/低电平观察输出。
构建 Promise 链并显示每个 then/catch 的执行时间与状态,帮助理解微任务调度。