微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ftp:/// 加载大型 json 对象的有效方法

如何解决使用 ftp:/// 加载大型 json 对象的有效方法

我有一个很大的 json 对象(最多 200 MB 或更多)。它存储了 plotly.js 渲染图形所需的值。

我尝试使用 text/javascriptapplication/json 将 json 对象合并到 html 中,或者将 json 存储在外部 javascript 代码中并使用脚本标记加载它。两种方法都需要花费大量时间来加载 HTML 页面(大约 20-30 秒)。

由于出于安全原因,由于 CORS 策略,我无法使用 ftp:/// 协议读取本地文件,该协议被 chrome 阻止,因此我无法将数据存储在本地文件中,并且无法读取以后再说吧。

有没有更有效的方法将大型 json 文件嵌入 html 文件中?也许我们可以稍后用 json 对象评估代码

解决方法

我找到了解决方法。 首先,用一个js文件定义global variable中的数据。 其次,稍后通过单击按钮或其他事件加载 js 文件。

// data.js
window.data = [1,2,3]

// load the data with the script tag.
const scriptTag = document.createElement("script");
scriptTag.src = "./data.js";
scriptTag.onload = () => console.log("loaded")
document.head.appendChild(scriptTag);

现在,我可以将大数据拆分为单独的变量并稍后加载。

,

使用 <script> 标签时,使用 asyncdefer 属性以及 onload 在文件加载时开始绘图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?