预加载大型JSON文件

时间:2018-03-17 10:17:14

标签: javascript json caching preload

我有一个两页的注册漏斗,其中第二页需要一个相当大的JSON文件(400Kb)用于自动完成字段。直接为页面加载文件会导致用户体验的延迟很小但可能具有破坏性,因此我考虑在第一页上预加载JSON,并将其缓存并放大。准备第二页。

为缓存目的预加载JSON文件的首选/优雅方法是什么?根据{{​​3}} link rel=preload尚未获得良好的浏览器支持。

1 个答案:

答案 0 :(得分:1)

我能想到的最简单的解决方案是用第一页加载它,如果在加载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>