我正在使用 this cache API缓存页面上的内容。一切正常。但是当我断开移动设备上的互联网连接时,我也可以在缓存页面上看到所有图像内容。这些图像来自 AWS 并且具有如下所示的路径。当我调试离线用例时,URL 与下面相同。换句话说,我没有做任何特别的努力来缓存图像。所以我的问题是,这些图像在离线用例中是如何显示的?您可以看到,根据图像 URL,它必须仅适用于在线用例。那么这是如何工作的呢?希望您对此给予反馈。
更新:
通过断开连接方式:在打开应用程序的情况下断开与互联网的连接
用例:
我有一个在线页面(即只使用互联网),用户可以在其中选择离线(即没有互联网)阅读的内容。我在这里所做的是,我已经缓存了内容然后使用它离线页面上的缓存内容。但我没有特别努力缓存图像。正如我上面提到的,我也可以在离线页面上看到图像上的实时 URL。但是,这些图像仍然显示在离线页面上page.有什么线索吗?
这也是离线页面上的图片 URL:
<img src="https://s3-us-west-2.amazonaws.com/blue/pic/my-thumbnail-136x200-95.jpg">
最佳答案
我从来没有使用过这种缓存服务,也没有遇到过这种行为,但这是我可以分享的:
我有一个应用程序,我在某些页面中显示一个头像,它是一个 Firebase 图片并且链接始终相同。当我打开图片时,断开连接并转到必须再次显示此图片的页面,直到我再次连接互联网时它才会显示。
由于您使用的是 Amazon AWS,我不知道它是否具有相同的行为,因为您可能需要进行身份验证才能连接和检索图像,因此它需要互联网。
我的第一个猜测是,因为它是一个单页应用程序,当你在一个页面中打开一个图像时,它已经下载并有一个成功的请求,然后当你导航到另一个页面时它已经被缓存了,而不是因为缓存服务已安装,但因为它是在堆栈的早期页面中打开的。
如果您关闭应用程序,杀死/销毁它并再次打开,常见的行为是无法显示图像,因为您没有再次下载它。如果你这样做并且它显示图像,那我就不知道了。
这不是缓存服务上的东西,因为您需要指定要缓存的内容,并且您直接在 HTML 页面上使用它。
所以我的第二个猜测是 AWS 做了一些事情,因为 Firebase 有处理它的图像的行为,AWS 必须有它自己的方式来处理它。因此它会自动缓存打开的图像并创建某种索引或引用,以便它可以在再次调用 API 之前首先查找对该图像的成功调用(我从未使用过 AWS 也从未看过它的文档,所以我只是说说我的想法)。
这个答案更像是一个对于评论框来说太长的评论,但我希望它能给你一些关于在哪里寻找正确答案的想法。
关于android - 实时图像也在离线(无互联网)模式下显示 - Ionic 3 App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468063/