javascript - Chrome 中的网络推送通知

标签 javascript google-chrome web-push

我已经创建了网络推送通知,并且它们可以在 Firefox 中正常工作(服务工作人员已注册,订阅已创建,订阅数据已存储,使用订阅数据通知发送正常)。我在 Chrome 和 Opera 中尝试过同样的操作,但没有任何反应。我尝试调试,在发送推送通知后,浏览器收到它并执行代码,但没有任何反应。没有错误,代码运行到最后。服务 worker 代码如下:

'use strict';
self.addEventListener('push', function(event) {
  console.log('Push started');
  const promiseChain = self.registration.showNotification('Hello, World.');

  event.waitUntil(promiseChain);
  console.log('Push finished');
});

我在控制台中看到“推送开始”和“推送完成”。服务器使用https。有什么想法,可能有什么问题吗?

最佳答案

假设您有一个没有 https 的开发域。 Google Chrome 仅在使用配置的 SSL 运行时发送通知。

如何绕过:对于本地开发,您可以使用 unsafely-treat-insecure-origin-as-secure 选项启动 Chrome。

open -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
     --args \
     --user-data-dir=$HOME \
     --unsafely-treat-insecure-origin-as-secure=http://your-insecure-domain.dev \

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

相关文章:

java - 在 Java 中生成 VAPID key 并将其传递给 JavaScript PushManager

push-notification - 与 Web 推送通知相关的 Service Worker 事件

javascript - Google Chart 访问路径的 fill 属性

javascript - 哪个最适合 jquery 选择类名与 id 的性能

javascript - 为什么 JavaScript 的设置超时不起作用?

python - 如何从 selenium 在 Chrome 中启用 "allow-insecure-localhost"标志?

windows - Google Canary - 无法卸载

javascript - 穆尔特 : Setting different destinations in the destination Property

javascript - window.open 滚动条在 Chrome 中不起作用

javascript - 通过一次通话向所有订阅者发送网络推送通知