2

我正在尝试找出将一系列语言词典文件(英语、法语等)动态加载到 Chrome 扩展程序中的最佳方法。我正在处理的约束:

  1. 我正在运行一个基于手势识别设备 (LEAP) 控制浏览器操作的内容脚本,因此它始终在活动选项卡中运行。
  2. 用户可以通过使用一系列手势打开菜单页面并选择新语言来选择不同的语言。
  3. 每个字典文件都非常大(~5MB)并且其中有很多(25+),所以当扩展初始化时我不能全部加载它们或者它真的堵塞了东西。
  4. 我想在扩展的主目录中托管字典文件;而不是托管在外部某个地方。
  5. 我可以将用户的语言选择存储在 Chrome/storage 中,但据我了解,JSON 字典太大而无法放入其中。

总而言之,我希望能够根据用户操作将本地托管的相当大的 JSON 数组 (~5MB) 动态加载到 Chrome 内容脚本中。在不遇到 Access-Control-Allow-Origin 问题的情况下,最好的方法是什么?

4

1 回答 1

2

您需要将 JSON 文件名添加到清单中:http: //developer.chrome.com/extensions/manifest.html#web_accessible_resources

这样,您可以从任何内容脚本访问扩展内的 JSON 文件。

您还可以在后台页面加载文件(更好),并从内容脚本向后台页面发送消息以从 JSON 中获取特定数据。这更好,因为您为所有选项卡加载一次 JSON。

于 2013-06-17T06:50:31.070 回答