脚本如何在多页 Chrome 扩展程序中相互通信?

问题描述

我有一个 background.js 脚本,其中包含存储、API 调用和所有主要功能函数

我的 chrome 扩展程序有多个页面。我希望这些页面中的每一个调用 background.js函数

我应该关注哪些概念?

解决方法

由于您谈论的是多个页面,因此我将仅描述如何在弹出窗口中进行操作。 According to Mozilla,弹窗只是指定为一个 HTML 文件,可以像普通网页一样包含 CSS 和 JavaScript 文件。不过,与普通页面不同的是,JavaScript 可以使用扩展程序有权访问的所有 WebExtension API。

因此您可以简单地将其包含在主脚本之前的 <script> 标记中,如下所示:


    <head>
        <title>Your Extension</title>
        <script defer src="background.js"></script>
        <script defer src="your_script.js"></script>
    </head>

最好在这个 background.js 中有函数,因为就像任何普通页面一样,它只会运行文件中的所有内容。如果您想将这些包含在您的内容或后台脚本中,请查看 this StackOverflow question