gpt4 book ai didi

google-chrome - 网络推送通知未在 Chrome 中显示

转载 作者:行者123 更新时间:2023-12-04 08:44:25 27 4
gpt4 key购买 nike

目前我正在为我们的项目开发网络推送通知服务。我面临的问题是我在 Google Chrome 中的 service worker 收到推送信号,但不会将其显示为通知,尽管我能够将数据记录到开发控制台。我在 Firefox 和 Chrome 上的其他设备上尝试过它,它确实有效。我试图恢复 Chrome 设置,但没有帮助。这是我的服务 worker 代码:

'use strict';

self.addEventListener('push', function(event) {
console.log('[Service Worker] Push Received.');
console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);

var payloadJson = JSON.parse(event.data.text());

const title = payloadJson.title;
const options = {
body: payloadJson.message,
icon: 'img/img.png',
badge: 'img/img2.png'
};

event.waitUntil(self.registration.showNotification(title, options));
});

推送服务 worker 按预期记录消息后:
Dev tools console log

正如我提到的,我用另一台装有 Chrome v64 的设备在 chrome 上对其进行了测试,同时我的设备是 v65.0.3325.162 两台设备都在 Mac OS High Sierra 10.13.3 上运行

编辑:
所以我发现了一些奇怪的行为,在完全删除带有所有缓存文件的 chrome 并重新安装它之后,我能够使它工作,但现在的问题是,如果我等到通知消失,它下次将不会显示。一切正常,直到我点击通知关闭。

最佳答案

我发现如果 options showNotification() 的论据无效,即在 icon 中指定的文件或 image字段不存在,然后方法调用静默解决而不会引发错误或任何事情。这可能就是您看到 push 的原因。事件进来但没有看到通知本身。不过,我不确定与您在重新安装 Service Worker 后解释的行为的联系。

关于google-chrome - 网络推送通知未在 Chrome 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49427933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com