Notification API 为什么在本地文件中无法弹出通知?

小振艳 阅读 13

我在用 Chrome 测试 Notification API,写了个简单的请求权限和显示通知的代码,但双击打开 HTML 文件时完全没反应,控制台也没报错。

我试过 Notification.requestPermission(),也检查了浏览器设置,允许通知了。是不是 file:// 协议不支持?必须部署到服务器才行吗?

if (Notification.permission === 'granted') {
  new Notification('测试通知', { body: '这条消息应该弹出来' });
} else if (Notification.permission !== 'denied') {
  Notification.requestPermission().then(permission => {
    if (permission === 'granted') {
      new Notification('授权成功', { body: '现在可以发通知了' });
    }
  });
}
我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
程序员树森
file:// 协议下 Chrome 出于安全限制不支持 Notification API,必须用 http/https 协议。直接起个本地服务器就行,比如用 Python 的 python -m http.server 或者 Node 的 npx http-server,或者 VS Code 装个 Live Server 插件一键搞定。
点赞
2026-02-28 22:21