我们有一个使用远程提供图像的Phonegap应用程序。
图像带有Cache-Control标头: '缓存控制':'max-age = 31536000'。
在iOS 12之前,图像仅获取一次并在使用该应用程序期间进行缓存。 升级到iOS 12后,缓存停止工作,并且始终从服务器获取图像。 我们使用UIWebView(我们尚未迁移到WKWebView)。
在iOS 12或任何其他平台(Android /网络)上的Safari中不会发生。
我找不到任何有关为何突然不再起作用的信息。有人有线索吗?
答案 0 :(得分:0)
最后,我们最终迁移到WKWebView。
对于Phonegap / Cordova用户:我强烈建议您使用cordova-plugin-ionic-webview: https://github.com/ionic-team/cordova-plugin-ionic-webview即可快速迁移到WKWebView而不是UIWebView。
答案 1 :(得分:0)
UIWebView
似乎没有不缓存background-image
。根据我的测试,使用<img />
加载远程图像,缓存可以按预期工作。
此外,如果我们使用 global 变量保存相同 URL的图像,则UIWebView
也可以缓存background-image
。
window.imageCache = new Image();
window.imageCache.src = 'https://xx.com/some/url/to/image';
// later in DOM, background images can be cached
// <div style="background: url(https://xx.com/some/url/to/image);"></div>