gpt4 book ai didi

javascript - 缓存 API 在 safari ios 模拟器和 mac 上不起作用

转载 作者:行者123 更新时间:2023-12-04 04:14:45 26 4
gpt4 key购买 nike

我正在尝试在我的 index.html 中使用以下代码段.

<script>
fetch('index1.js').then(response => {
caches.open('test-cache').then(cache => {
cache.put('index1.js', response);
})
})
</script>

我在本地主机上有一个名为 test-website.com 的自定义域.当我通过 chrome 访问此页面时,一切正常, index1.js被存储在缓存中。现在,我打开 ios Simulator并在那里打开 safari 并再次运行相同的网站。我也在 mac safari 上查看了这个网站,但是在控制台中,我得到了:

Unhandled Promise Rejection: ReferenceError: Can't find variable: caches



问题一)为什么我会收到此错误?

问题2)我检查了兼容性: Cache Storage APICache .第一个兼容 ios safari ,第二个没有。这2个有什么区别?这可能是它找不到缓存的原因吗?

问题3) Apple 支持 service worker,应该支持 Cache API .否则它没有值(value)。任何想法?

最佳答案

Cache Storage API 的文档声明如下:

Note: Chrome and Safari only expose CacheStorage to the windowed context over HTTPS. window.caches will be undefined unless an SSL certificate is configured.


确保您通过 HTTPS 提供和访问网页
据我所知,浏览器仍然允许 cacheslocalhost 提供页面时可访问的变量作为一种进行测试的方法,但如果您通过自定义域 test-website.com 访问它,则此规则不适用

关于javascript - 缓存 API 在 safari ios 模拟器和 mac 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60946538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com