如何从javascript引用延迟加载的脚本标记json文件内容?
我希望JSON文件的加载不会中断正常的页面加载,因此即使JSON是5mb大小,应用程序仍将执行其他关键功能,而这个巨大的JSON将在之后加载 挑战在于,既然这个JSON文件实际上是在延迟脚本标记中加载的,那么我该如何在javascript中引用它呢?如果我只是在如何从javascript引用延迟加载的脚本标记json文件内容?,javascript,json,browser,deferred,script-tag,Javascript,Json,Browser,Deferred,Script Tag,我希望JSON文件的加载不会中断正常的页面加载,因此即使JSON是5mb大小,应用程序仍将执行其他关键功能,而这个巨大的JSON将在之后加载 挑战在于,既然这个JSON文件实际上是在延迟脚本标记中加载的,那么我该如何在javascript中引用它呢?如果我只是在结束之前加载JSON文件,我的javascript怎么知道呢 任何实现这一目标的想法,甚至是好的替代方案都将受到极大的赞赏 谢谢 您可以异步加载JSON,然后触发事件!比如: yourScript.js(导入时包含JSON) 您的所有ja
结束之前加载JSON文件,我的javascript怎么知道呢
任何实现这一目标的想法,甚至是好的替代方案都将受到极大的赞赏
谢谢 您可以异步加载JSON,然后触发事件!比如: yourScript.js(导入时包含JSON) 您的所有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文件似乎没有等待所有的js文件,至少没有完全加载。。。。这是错误的
如果我正确理解了您的问题,那么yesdeferred
并不意味着它是最后一个请求,它只是以异步方式加载。因此,事件使这成为一个无缝的过程,因为只有在加载myJson
时才会运行下面的js代码。
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 ===========*/
});