Chrome 扩展后台脚本如何与网页服务工作者通信?

Posted

技术标签:

【中文标题】Chrome 扩展后台脚本如何与网页服务工作者通信?【英文标题】:How can Chrome extension background script communicate with web page service worker? 【发布时间】:2016-09-23 14:25:54 【问题描述】:

我们的 webapp 注册了一个 service worker。我们还有一个 Chrome 扩展程序。我们需要的是在不打开 webapp 的情况下从 service worker 向扩展发送消息。这样做的正确方法是什么?

我们当前的解决方案是在服务工作者中请求一些 URL,并使用 webRequest - chrome.webRequest.onBeforeRequest.addListener 在扩展程序的后台脚本中捕获它。它有效,但看起来非常不标准。

【问题讨论】:

唉,还没有:crbug.com/452942 和 crbug.com/545535 马丁,我也需要这样做。您能否发布一些解决方案的示例代码? @MichaelUpdike gist.github.com/zdila/ba6c0c1e0be5caafbc1d5bb4832f7d75 您好,有新的解决方案吗?我想将数据从 firebase-messaging-sw.js 发送到 manifest v3 service worker 以设置标记文本。普通服务人员没有设置可用的徽章文本 API。 【参考方案1】:

(来自 wOxxOm 的评论,因为他讨厌在 cmets 以外的任何地方回答)

您的解决方案与任何解决方案一样好 - 在添加更直接的支持之前,根据 this feature request。

【讨论】:

以上是关于Chrome 扩展后台脚本如何与网页服务工作者通信?的主要内容,如果未能解决你的问题,请参考以下文章

chrome 扩展的浏览器动作、后台脚本和内容脚本之间通信的上下文和方法?

如何与电子中的chrome扩展背景页面通信?

chrome 扩展 mv3 - 模块化服务工作者 js 文件

Chrome 扩展程序 |如何在 CDN 的内容和后台脚本中包含库

Chrome扩展中脚本的运行机制和通信方式

Chrome扩展中脚本的运行机制和通信方式