Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome通知-即使在网站未打开的情况下也可以进行神奇推送_Javascript_Google Chrome_Google Chrome Extension_Push Notification - Fatal编程技术网

Javascript Chrome通知-即使在网站未打开的情况下也可以进行神奇推送

Javascript Chrome通知-即使在网站未打开的情况下也可以进行神奇推送,javascript,google-chrome,google-chrome-extension,push-notification,Javascript,Google Chrome,Google Chrome Extension,Push Notification,我在过去构建了一个chrome扩展,并在该扩展中使用了chrome通知API,因此我熟悉它的工作原理 我最近发现了一个网站,当有什么事情发生时会显示这些通知,但最奇怪的是,即使这个网站没有在任何选项卡中打开,它也会推送这些通知(只要chrome是打开的)。我想知道他们是怎么做的 我检查了我的设置->扩展列表,看看我是否以某种方式安装了他们的扩展,但没有。那么他们从哪里运行这个神奇的javascript呢 根据@Andreas所述,网站名为 原因是当接收到推送消息时 浏览器可以启动在后台运行的se

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

我最近发现了一个网站,当有什么事情发生时会显示这些通知,但最奇怪的是,即使这个网站没有在任何选项卡中打开,它也会推送这些通知(只要chrome是打开的)。我想知道他们是怎么做的

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

根据@Andreas所述,网站名为

原因是当接收到推送消息时 浏览器可以启动在后台运行的service worker 在没有打开页面的情况下,发送事件以便 决定如何处理该推送消息

您请求的javascript代码在worker中


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

“原因是,当收到推送消息时,浏览器可以启动service worker,该服务worker在后台运行,而无需打开页面,并发送事件,以便您决定如何处理该推送消息。”是,但是,当Worker服务在后台运行以推送这些通知时,必须有一些Javascript实际告诉Worker服务推送它们。通常情况下,它是一个chrome扩展或网站的javascript。但即使网站未打开且未安装任何扩展,他们也在这样做。您是否关注该链接?它指向了google开发者网站,该网站提供了推送通知以及您需要的所有信息。Docu,sample repo,demo,…@Andreas你介意从中得出一个实际的答案吗?因为没有人提到它的名字,所以它被称为Push API。还有一些方法可以使添加到网站/博客变得简单