来自 Web 通知 API 的通知在 Chrome 中不可见

问题描述 投票:0回答:1

我正在尝试使用在本地主机上运行的 Chrome 版本 122 中的 Web 通知 API 显示通知。授予通知权限,

window.isSecureContext
返回
true
。虽然通知的
show
事件被触发,表明通知应该可见,但它不会出现在屏幕上。即使没有浏览器或系统级“请勿打扰”模式处于活动状态,并且控制台中没有明显错误,也会观察到此行为。

这是我正在使用的代码片段:

Notification.requestPermission().then((permission) => {
  if (permission === 'granted') {
    setTimeout(() => {
      const notification = new Notification('Title', { body: 'Body' });
      notification.addEventListener('show', (event) => {
        console.log('Notification shown', event);
      });
      notification.addEventListener("close", function (event) {
        console.log('Notification closed');
      });
    }, 1000);
  }
});

我检查了以下内容:

  • Chrome 中本地主机的通知设置设置为允许通知。
  • 系统通知中心不包含错过的通知。
  • 在隐身窗口中进行测试,以排除影响行为的扩展。
  • Edge 中的通知也不可见。

有人遇到过类似的问题,或者可以深入了解为什么通知可能未按预期显示吗?

javascript notifications
1个回答
0
投票

也许你不太可能遇到同样的情况,但我在 MacOS (10.15.7) 上的 Chrome 122 上遇到了同样的问题。我的问题是,由于某种原因,默认情况下,系统偏好设置中的通知中心禁用了 Google Chrome 通知。

© www.soinside.com 2019 - 2024. All rights reserved.