小编Fre*_*red的帖子

从缓存API检索的JavaScript文件未执行

在不使用服务工作者的纯Web原始JavaScript应用程序中,我想显式缓存位于AWS S3文件服务器上的JavaScript文件。以下脚本将位于应用程序的index.html文件中(由于它是一个客户端项目,因此我已经修改了URL):

<script>
    caches.match('https://s3.amazonaws.com/com.myproject/myjavascript.js')
    .then(function(response) {
        if (response) {
            return response;
        } else {
            fetch('https://s3.amazonaws.com/com.myproject/myjavascript.js')
            .then(function(res) {
                return caches.open('mycache')
                .then(function(cache) {
cache.put('https://s3.amazonaws.com/com.myproject/myjavascript.js',res.clone());
                   console.log(res.clone());
                   return res;
                });
            });
       }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我相信这段代码应该执行以下操作:检查myjavascript.js文件是否在缓存中。如果是,则返回JavaScript文件,然后浏览器将执行该文件。如果在缓存中未找到myjavascriptfile.js,则会将其提取并放置在子缓存“ mycache”中,最后返回到将在其中执行的浏览器。

运行此命令后,我在缓存中找到文件的URL,响应为“ Ok”,但该代码未由浏览器执行,并且在Chrome浏览器开发者工具内的源文件中看不到文件内容。

为什么这不起作用?我对此的想法出了什么问题。

非常感谢,弗雷德

html javascript caching progressive-web-apps

5
推荐指数
1
解决办法
477
查看次数

标签 统计

caching ×1

html ×1

javascript ×1

progressive-web-apps ×1