我有一个双页注册 channel ,其中第二页需要一个相当大的 JSON 文件 (400Kb) 作为自动完成字段。直接为页面加载文件会导致用户体验出现微小但潜在破坏性的延迟,因此我考虑在第一页上预加载 JSON,并将其缓存并为第二页做好准备。
仅出于缓存目的预加载 JSON 文件的首选/优雅方式是什么?根据can-i-use link rel=preload
尚没有良好的浏览器支持。
最佳答案
我能想到的最简单的解决方案是在第一页中加载它,如果在加载 DOM 之后完成,该页面将不会出现中断。
这样,它将被缓存,并且在调用第二页时应该立即加载
<head>
<script>
(function(d) {
d.addEventListener('DOMContentLoaded', function() {
var s = d.createElement('script');
s.setAttribute('type', 'text/javascript');
s.setAttribute('src', json.js);
s.setAttribute('defer', true);
d.head.appendChild(s);
})
})(document);
</script>
</head>
关于javascript - 预加载大型 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49334822/