在Chrome扩展程序中存储静态JSON数据的位置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Chrome扩展程序中存储静态JSON数据的位置?相关的知识,希望对你有一定的参考价值。
我的扩展中有大约350行静态JSON数据。该数据用于内容脚本,并且需要所有这些数据。这是一个键值对列表。每当用户点击页面时,如果它们与条件匹配并且执行了适当的操作,则检查所有键。就像是:
{
"ABC": 323.32,
"BDS": 23.12,
"GTO": 96.52
}
最好把它放在哪里?我提出了三个想法:
- 将其直接包含在内容脚本中。
- 将其加载到事件页面并使用消息传递来检索数据。
- 将其存储在JSON文件中,并以某种方式使用XHR检索它。不过,我不认为这是可能的。
我知道localStorage
,我看过Chrome的各种其他类型的存储。但是,它们似乎是用于在用户使用扩展程序执行操作时生成的数据。
我的数据是静态的。安装扩展后,它不会更改。也就是说,直到扩展程序收到更新并最终修改它。
现在,数据位于内容脚本中。我认为这不是很好,因为它在每次打开页面时都会加载,而它根本不会发生变化。因此,事件页面似乎更合适。但是,是否有针对此类数据设计的内容?
答案
您可以使用XHR或fetch检索它。使用chrome.extension.getURL
获取文件的URL。
这应该工作:
fetch(chrome.extension.getURL('/data.json'))
.then((resp) => resp.json())
.then(function (jsonData) {
console.log(jsonData);
});
而且你还必须将它添加到manifest.json:
"web_accessible_resources": [
"data.json"
],
以上是关于在Chrome扩展程序中存储静态JSON数据的位置?的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 扩展的 Manifest.json 中的自定义值?