Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 使用服务工作者更新dom_Javascript_Service Worker_Web Push - Fatal编程技术网

Javascript 使用服务工作者更新dom

Javascript 使用服务工作者更新dom,javascript,service-worker,web-push,Javascript,Service Worker,Web Push,我已经实现了web推送通知,现在我正在研究在浏览器中打开网站时使用服务人员更新DOM的可能性。 类似于社交媒体网站在收到消息时的更新方式(至少如此) 这是可能的,还是我找错了方向 我试着简单地告诉服务人员查找某个元素并更新其内容,但没有成功。服务人员(通常是web人员)无权访问窗口或文档元素。这意味着,网络工作者不能直接操作DOM 但是,web工作人员可以使用将消息发送到主线程(文档javascript)。 所以,您需要做的是,从服务工作者发送消息到文档javascript,其中包含id/类/标

我已经实现了web推送通知,现在我正在研究在浏览器中打开网站时使用服务人员更新DOM的可能性。 类似于社交媒体网站在收到消息时的更新方式(至少如此)

这是可能的,还是我找错了方向

我试着简单地告诉服务人员查找某个元素并更新其内容,但没有成功。

服务人员(通常是web人员)无权访问窗口或文档元素。这意味着,网络工作者不能直接操作DOM

但是,web工作人员可以使用将消息发送到主线程(文档javascript)。
所以,您需要做的是,从服务工作者发送消息到文档javascript,其中包含id/类/标记名/您想要操作的DOM元素的列表,并让主线程来完成这项工作。

我正在尝试做我上面提到的事情,我已经成功地完成了postMessage()。但无法在第页上接收它。我的接收器代码是navigator.serviceworner.addEventListener('message',function(event){console.log('Received a message from service worker:',event.data);});我有什么事要做吗?