如何在Chrome扩展中动态加载大型JSON文件
How to dynamically load large JSON files in a Chrome extension
我正试图找出最好的方法是动态加载一系列语言字典文件(英语,法语等)到Chrome扩展。我正在处理的约束:
- 我正在运行一个基于手势识别设备(LEAP)控制浏览器动作的内容脚本,所以它总是在活动选项卡中运行。
- 用户可以通过一系列手势打开菜单页面,选择一种新的语言。
- 每个字典文件都相当大(~5MB),而且有很多(25+),所以我不能在扩展初始化时加载它们,否则它真的会阻塞事情。
- 我想在扩展名的主目录中托管字典文件;而不是托管在外部的某个地方。
- 我可以将用户的语言选择存储在Chrome/storage中,但据我所知,JSON字典太大而不能放在那里。
总而言之,我希望能够动态加载一个本地托管,相当大的JSON数组(~5MB)到Chrome内容脚本基于用户的操作。在不遇到Access-Control-Allow-Origin问题的情况下,最好的方法是什么?
您需要将您的JSON文件名添加到清单:http://developer.chrome.com/extensions/manifest.html#web_accessible_resources
这样你就可以从任何内容脚本中访问扩展名中的JSON文件。
您也可以在后台页面加载文件(这样更好),并从内容脚本向后台页面发送消息,从JSON中获取特定数据。这是更好的,因为你加载JSON一次,所有的选项卡。
相关文章:
- 加载一个大型 JavaScript 文件与多个整体大小较小的较小文件的性能
- 如何测量大型数组的加载时间
- 从 JSON(db 查询结果)加载大型 javascript 数组而不会使页面崩溃
- 使用 grunt requirejs 与单个大型缩小文件连接缓慢时加载问题
- 如何为用户加载大型动画 gif
- 如何缩短 Jquery 中大型对象引用的加载时间
- 是否有一个好的图表 API,可以在滚动/缩放时使用 Ajax 延迟加载大型数据集
- 在 AJAX 请求上动态生成的大型 SVG 文件在 IE9 中无法正确加载
- 更好的加载速度:大型JSON文件,或需要处理的小型CSV文件
- 谷歌浏览器没有正确加载带有大型缩小css和脚本的网站
- 用d3.js加载大型csv文件时出现Grails错误
- 无法使用jquery.ajax一致地加载大型json响应
- 如何避免重新加载大型JavaScript数组
- ExtJS关于路由和类加载的大型单页应用程序
- 如何在Chrome扩展中动态加载大型JSON文件
- 加载带有大型ajax响应的图像
- 我如何在我的网站上延迟加载或预加载大型背景图像
- 通过使用JavaScript与媒体查询配对来加载大型图像
- 通过AJAX加载大型Javascript数组
- 三.js加载大型模型