我希望 JSON 文件的加载不会中断正常的页面加载,因此即使 JSON 有 5mb 大,应用程序仍会执行其他关键功能,而这个巨大的 JSON 将在之后加载。
挑战在于,由于这个 JSON 文件实际上是在延迟脚本标签中加载的,我应该如何在我的 javascript 中引用它?如果我只是在 </body>
结束之前加载 JSON 文件,我的 javascript 怎么知道呢? ?
我们将不胜感激任何实现这一目标的想法,甚至是好的替代方案。
谢谢!
最佳答案
您可以异步加载 JSON,然后触发一个事件!喜欢:
yourScript.js(包含 JSON 的导入)
window.myJSON = {...A lot of JSON}
const event = new CustomEvent("myJson-loaded", {"myJson": window.myJSON})
document.dispatchEvent(event)
您所有的 javascript 现在都可以像这样工作:
document.addEventListener("myJson-loaded", function(e) {
// Prints contents of window.myJSON, you can also, access it via the global variable myJson.
console.log(e.detail)
/*========= All your JS code here ===========*/
});
如果您的代码库分布在多个脚本文件中,您可以在每个 脚本文件中监听该事件!
关于javascript - 如何从javascript引用延迟加载的脚本标签json文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42837397/