3

假设我们有 Chrome 扩展,它使用背景页面、弹出页面,可能还有其他一些视图和内容脚本。有一些与主题领域相关的常量数据,必须可以从所有视图和内容脚本中访问。
共享这些数据的最佳做法是什么?

4

2 回答 2

9

一种方法是将所有共享数据保留在后台页面中,并通过大多数上下文可用的getBackgroundPage访问它。如果不可用(例如在上下文脚本中),您可以使用消息传递来获取数据。

于 2011-11-08T17:01:19.147 回答
4

正如@BorisSmus 提到的,您可以创建一个单独的constants.js文件,将其包含在您需要的任何地方。

例如,在您的manifest.json

"content_scripts": [
    {
        "js": ["constants.js", /* ... your other content scripts ... */]
    }
],

<head>在弹出页面和背景页面的顶部有以下内容:

<script src="constants.js"></script>

如果其中一个用户意外地修改了变量,这也具有不会导致问题的好处constants.js,因为每个用户都有自己的副本。

于 2017-04-02T01:52:27.680 回答