前置api显示在Safari 12中警告“在几秒钟内未使用”,但在chrome中工作正常

时间:2018-10-01 12:52:02

标签: javascript safari preload

在尝试预载API时,在Safari中遇到以下警告

  

资源https://hots.com/test/api已使用链接预先加载   预加载,但在窗口加载后几秒钟内未使用   事件。请确保未预装任何内容。

此外,API触发两次。

但是此API响应正在同一页面上立即使用。并且它在Chrome中运行正常,没有任何警告。在Safari 12中发现了问题,并且根据https://caniuse.com/#search=preload,Safari完全支持预加载。我的实现如下

<script>             
    function preload(api) {

        if(api) { 
            var preloadLink = document.createElement("link");
            preloadLink.href = api;
            preloadLink.rel = "preload";
            preloadLink.as = "fetch";
            preloadLink.setAttribute("crossorigin", "");
            document.head.appendChild(preloadLink);
        }
    }

    preload('/test/api');
</script>

有什么办法可以解决此警告?

0 个答案:

没有答案