浏览器通知推送测试
在线测试 Web 推送通知功能,验证浏览器与操作系统的通知权限设置。支持发送自定义测试消息,排查收不到通知的问题。
怎么用这个页面快速定位问题
通知测试指南
按步骤验证权限、页面内通知与 Service Worker 通知,并确认点击/关闭事件是否能回传到页面。
确认环境满足条件
通知能力通常要求安全上下文(HTTPS),并且浏览器支持 Notification 与 Service Worker。
请求通知权限
点击“请求通知权限”,让浏览器弹窗询问是否允许通知。
触发页面内通知并测试点击回调
页面内通知能验证 Notification.onclick/onclose(页面存活时)。
注册 Service Worker 并触发系统通知
SW 通知更接近真实推送/后台通知交互,点击后走 notificationclick。
常见问题解答
关于通知权限、页面内通知与 Service Worker 通知的高频问题整理。
这个页面主要用来做什么?
用来验证浏览器通知能力:包括权限状态(default/granted/denied)、页面内 Notification(new Notification)是否能弹出,以及通过 Service Worker 的 showNotification 是否能弹出并回传点击/关闭事件。
为什么一直没有弹出“请求通知权限”的弹窗?
常见原因:当前不是安全上下文;浏览器已记住之前的选择(特别是 denied);或被企业策略/浏览器设置拦截。先确认“安全上下文”为是,并到站点设置里检查通知权限。
权限是 denied 该怎么办?
页面无法自动把 denied 改回 granted。请到浏览器地址栏的站点设置(或系统通知设置)里,把该站点通知改为“允许”,然后刷新页面再试。
iOS Safari 支持系统通知吗?
iOS Safari 的通知能力支持受限,通常需要“添加到主屏幕”的 PWA 形态才可能使用通知能力;即便如此也会受到系统版本与权限策略影响。
为什么触发通知失败,提示需要用户手势?
部分浏览器会限制非用户手势触发通知。请用页面上的按钮点击来触发(而不是自动触发/定时触发),并确保标签页不是后台状态。
SW 通知点击后没回传到日志?
先点“注册 Service Worker”并确认 SW ready 为是,再触发 SW 通知并点击。如果仍无回传,检查是否存在 `/notification-sw.js`、是否被浏览器拦截后台通知、以及控制台是否有 Service Worker 相关错误。
为什么我能触发通知,但系统不显示?
可能被系统“勿扰模式/专注模式”、系统通知总开关、浏览器自身通知开关拦截;也可能被站点静默或聚合策略影响。建议检查系统通知中心与浏览器站点权限。