网页通知测试
音视频所有处理都在浏览器本地完成,数据不上传服务器
⚠️ 这些选项在不支持的平台上**不会报任何错**,只是静默地没有效果。所以逐条列出来 —— 「设了没效果」比「报错」难查得多。
- 正文(body)各平台都支持
各平台都支持,但显示的行数不一样:桌面一般给两三行,移动端折叠得更早。长正文会被截断。
- 图标(icon)看平台,见说明
⚠️ 在 Windows 上这个图标**不会**显示成通知的小图标,而是显示成发送方的应用图标;macOS 与多数 Linux 桌面才把它当通知图标用。所以「设了图标没看到」往往是平台行为,不是写错了。
- 标签(tag)各平台都支持
同 tag 的新通知会**顶掉**旧的那条(是替换,不是并列堆放)。空 tag 也是一个 tag,所以所有不填 tag 的通知会互相顶替 —— 想让多条同时留着,就各给一个不同的 tag。
- 静音(silent)各平台都支持
让这条通知不出声、不振动。各平台支持都不错,但「静音」只压过这一条 —— 系统的勿扰模式仍然会把它整个压掉。
- 常驻(requireInteraction)看平台,见说明
⚠️ 要求通知不要自动消失、等用户处理。桌面 Chrome / Edge 认这个值,**多数移动端与 Safari 直接忽略** —— 设了也没用,通知照样几秒后消失。而且即便支持,用户在系统设置里也可以让它自动消失。
- 按钮(actions)看平台,见说明
⚠️ 这是差异最大的一项:桌面 Chrome / Edge 支持(**最多显示两个**),**多数移动端浏览器与 Safari 会忽略整个 actions** —— 通知里根本不会出现按钮,而且不报错。所以移动端上的通知要保证「没有按钮也能看懂」。
- 大图(image)看平台,见说明
通知里的大图只在部分平台出现(主要是部分 Android 的 Chrome),桌面与 iOS 多数忽略。与 actions 一样,忽略时没有任何提示。
申请通知权限,然后发一条通知,把标题、正文、图标、标签、静音、常驻、按钮这些选项都试一遍。 ⚠️ 这个工具最大的价值不在「发一条通知」,而在说清平台差异。`actions`、`requireInteraction`、`icon` 这些选项在不支持的平台上不会报任何错,只是静默地没有效果:你设了两个按钮,通知里根本没有按钮,控制台也是干净的。所以这里把每一项在哪儿有效、在哪儿被忽略逐条写出来 —— 桌面 Chrome 最多显示两个按钮,多数移动端与 Safari 会忽略整个 actions;requireInteraction 同理,设了照样几秒后消失;icon 在 Windows 上显示成发送方的应用图标而不是通知图标。这些差别是文档里都不写的一句话,而它们恰恰是「设了没效果」的唯一解释。 另外两条刻意的设计:权限只在按钮点击时申请,页面加载时绝不弹权限框(那是这类工具最讨人厌的做法,浏览器也会因为不是用户手势而忽略);权限被拒绝之后不再反复申请 —— 那时 `requestPermission()` 只会直接返回已拒绝、浏览器不再弹窗,页面会直接告诉你「去地址栏的站点设置里手动改」。通知只在安全上下文(https 或 localhost)里可用。
功能
- 显示当前权限状态,并且只在按钮点击时才申请权限(页面加载时不申请)
- ⚠️ 权限被拒绝后不再反复弹窗:明确告诉你去地址栏的站点设置里手动改回「允许」
- 发送一条通知,可设标题、正文、图标地址、标签 tag、静音、常驻
- 按钮(actions)最多两个,缺动作名或文字会被丢掉并提示,桌面 Chrome 之外多数平台忽略
- ⚠️ 逐条标注每个选项的平台差异:actions、requireInteraction、icon、tag、silent、大图分别在哪儿有效、在哪儿被忽略
- 说明 tag 的机制:同 tag 的新通知会顶掉旧的,空 tag 也算一个 tag
- 一个「关闭全部」按钮,并说清它只能关掉本页发出的、还活着的那些通知
- 本页发出过的通知有记录,含 tag 与按钮数量
- 全部在本机完成,不联网;不安全上下文(http)里会明确说明接口不可用
使用方法
- 点「申请通知权限」,在浏览器弹出的询问框里选择允许(这一步必须由你点,页面不会自动申请)
- 填标题、正文,按需要设图标、tag、静音、常驻与两个按钮
- 点「发送通知」看它长什么样,然后对照下面的「平台差异」看哪些选项其实被忽略了
- 通知没消掉就点「关闭全部」;如果之前拒绝过权限,按提示去站点设置里改回允许再刷新
常见问题
- 为什么按钮设了却没有出现?
- 因为 `actions` 只在部分平台生效:桌面 Chrome / Edge 支持(并且最多显示两个),多数移动端浏览器与 Safari 会忽略整个 actions —— 不显示按钮,也不报错。想验证就把这一页在桌面上用 Chrome 打开,再在手机上对比一次。
- 为什么权限被拒绝后再点申请没有反应?
- 因为一旦进入拒绝状态,`Notification.requestPermission()` 只会直接返回已拒绝,浏览器不再弹出询问框。这不是这个页面偷懒,是浏览器把决定权收走了。要改回来只能手动:点地址栏左边的站点设置(锁或图标)→ 找到「通知」→ 改成「允许」,然后刷新本页。
- 为什么我设了图标却看到的是应用图标?
- 这是 Windows 的行为:它不使用通知自带的 icon,而是显示发送方的应用图标。macOS 与多数 Linux 桌面才会把这个图标当通知图标用。所以「设了图标没看到」往往是平台行为,不是写错了。
- 为什么发了两条内容差不多的通知,前一条不见了?
- 因为两条用了同一个 `tag`。同 tag 的新通知会顶掉旧的那条,这是替换而不是并列堆放。而且空 tag 也是一个 tag,所以所有不填 tag 的通知会互相顶替 —— 想让多条同时留着,就给每条一个不同的 tag。
相关工具
你的浏览器信息
网络查看浏览器对网站暴露的信息:UA、屏幕、时区、CPU 核数、WebGL 渲染器与能力探测,全部在本机读取、不上传。
HTML5 检测
查询在你当前这个浏览器里实测 HTML 元素、CSS 能力、浏览器 API 与媒体格式的支持情况,结果可复制成一份带 UA 的报告。
弹窗代码
网络生成 window.open 弹窗代码或 target="_blank" 链接,参数可调,并说明哪些参数现代浏览器已经忽略、noopener 会带来什么取舍。
视频转 GIF
音视频把视频的某一段转成 GIF,可调帧率、宽度、颜色数与循环。看着预览选范围,带进度条。视频不上传,浏览器本地完成。
视频截帧
音视频导出视频某一刻的画面,按视频自身分辨率输出 PNG、JPEG 或 WebP。比播放器截图清晰:没有控件、没有屏幕缩放。文件不上传。
音频转 WAV
音视频把 MP3 / M4A / FLAC 等音频转成 WAV,可改采样率(16k 语音、48k 视频)、转单声道、做峰值归一化。全部在浏览器里完成。