Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 推送通知(注册和等待通知)_Javascript_Google Chrome_Google Cloud Messaging_Web Push_Push Api - Fatal编程技术网

Javascript 推送通知(注册和等待通知)

Javascript 推送通知(注册和等待通知),javascript,google-chrome,google-cloud-messaging,web-push,push-api,Javascript,Google Chrome,Google Cloud Messaging,Web Push,Push Api,以下是我正在尝试向GCM注册我的chrome浏览器,但我无法订阅浏览器: 我尝试在没有按钮的情况下执行与以下示例相同的操作。接受许可请求后,我想获取订阅id,但它不起作用: 如果要检查代码,请参见以下项目: 谢谢。我找到了这个: 它似乎有一个推送通知的分步实施指南。您给出的示例项目的问题是,服务人员从未做好准备 这是由于服务工作者js文件的位置造成的。它存储在js目录中,因此它的作用域仅为位于该目录中的页面,而请求服务工作者的页面位于根目录中 要使服务工作者可用于整个站点,必须将

以下是我正在尝试向GCM注册我的chrome浏览器,但我无法订阅浏览器:

我尝试在没有按钮的情况下执行与以下示例相同的操作。接受许可请求后,我想获取订阅id,但它不起作用:

如果要检查代码,请参见以下项目:


谢谢。

我找到了这个:


它似乎有一个推送通知的分步实施指南。

您给出的示例项目的问题是,服务人员从未做好准备

这是由于服务工作者js文件的位置造成的。它存储在
js
目录中,因此它的作用域仅为位于该目录中的页面,而请求服务工作者的页面位于根目录中

要使服务工作者可用于整个站点,必须将其放在站点的根目录中


根据,您还可以通过在
navigator.serviceWorker.register()
调用中设置
scopeURL
选项来手动设置服务工作者的作用域

有一些这样的例子,但它没有显示如何获得订阅ID,这是在浏览器上推送被接受后的第一步。谢谢你的帮助!