Chrome 通知 - 即使在网站未打开时也能神奇推送
Posted
技术标签:
【中文标题】Chrome 通知 - 即使在网站未打开时也能神奇推送【英文标题】:Chrome Notifications - Magic Push even when the website is not open 【发布时间】: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 可以直接将其添加到网站/博客 【参考方案1】:根据official documentation 和@Andreas 所述
这样做的原因是当收到推送消息时, 浏览器可以启动一个服务工作者,它在后台运行 没有打开页面,并调度一个事件,以便您可以 决定如何处理该推送消息。
您要求的 javascript 代码在 worker 内部。
如果您想查看浏览器中实际使用的工作人员,只需在新选项卡中转到chrome://inspect/#service-workers
。您可以通过单击工作人员名称下的检查链接来查看工作人员代码。
【讨论】:
以上是关于Chrome 通知 - 即使在网站未打开时也能神奇推送的主要内容,如果未能解决你的问题,请参考以下文章