我正在尝试使用在本地主机上运行的 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);
}
});
我检查了以下内容:
有人遇到过类似的问题,或者可以深入了解为什么通知可能未按预期显示吗?
也许你不太可能遇到同样的情况,但我在 MacOS (10.15.7) 上的 Chrome 122 上遇到了同样的问题。我的问题是,由于某种原因,默认情况下,系统偏好设置中的通知中心禁用了 Google Chrome 通知。