【问题标题】:Chrome Notifications - Magic Push even when the website is not openChrome 通知 - 即使在网站未打开时也能神奇推送
【发布时间】:2015-07-28 17:22:06
【问题描述】:

我过去构建了一个 chrome 扩展程序,并且在该扩展程序中使用了 chrome 通知 API,因此我熟悉它的工作原理。

我最近发现这个网站在发生某些事情时会显示此通知,但最奇怪的是,即使该网站未在任何选项卡中打开,它也会推送这些通知(只要 chrome 处于打开状态)。我想知道他们是怎么做到的。

我检查了我的设置->扩展列表,看看我是否以某种方式安装了他们的扩展,但没有。那么他们从哪里运行这个神奇的 javascript 呢?

网站名为https://www.greentoe.com

【问题讨论】:

  • Push Notifications "这样做的原因是,当收到推送消息时,浏览器可以启动一个Service Worker,它在后台运行而不打开页面,并调度一个事件,以便您决定如何处理该推送消息。”
  • 是的,但是当 Worker Service 在后台运行并推送这些通知时,必须有一些 Javascript 实际告诉 Worker Service 推送它们。通常情况下,它是 chrome 扩展程序或网站的 javascript。但即使网站未打开且未安装扩展程序,他们也会这样做。
  • 你点击链接了吗?它指向谷歌开发者网站,其中包含您需要的所有信息的推送通知。文档、示例 repo、演示、...
  • @Andreas 你介意对此做出一个实际的答案吗?
  • 由于没有人提到它的名字,所以它被称为Push API。还有services like this 可以直接将其添加到网站/博客

标签: javascript google-chrome google-chrome-extension push-notification


【解决方案1】:

根据official documentation 和@Andreas 所述

这样做的原因是当收到推送消息时, 浏览器可以启动一个服务工作者,它在后台运行 没有打开页面,并调度一个事件,以便您可以 决定如何处理该推送消息。

您要求的 javascript 代码在 worker 内部。

如果您想查看浏览器中实际使用的工作人员,只需在新选项卡中转到chrome://inspect/#service-workers。您可以通过单击工作人员名称下的检查链接来查看工作人员代码。

【讨论】:

    猜你喜欢
    • 2019-12-22
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多