UIWebView 不缓存远程图像
UIWebView not caching remote images
我们有一个使用远程服务图像的 Phonegap 应用程序。
这些图片带有 Cache-Control header:
'Cache-Control':'max-age=31536000'。
在 iOS12 之前,图像在应用程序的使用过程中被提取一次并缓存。
升级到 iOS 12 后,缓存停止工作,图像总是从服务器获取。
我们使用 UIWebView(我们还没有迁移到 WKWebView)。
在 iOS 12 或任何其他平台 (Android / web) 上的 Safari 中不会发生这种情况。
我找不到任何关于为什么这突然不再有效的信息。有人知道吗?
最后我们迁移到了 WKWebView。
对于 Phonegap/Cordova 用户:我强烈推荐使用 cordova-plugin-ionic-webview:
https://github.com/ionic-team/cordova-plugin-ionic-webview 快速迁移到 WKWebView 而不是 UIWebView。
似乎 UIWebView
不 缓存 background-image
。根据我的测试,使用 <img />
加载远程图像,缓存按预期工作。
此外,如果我们使用global变量来保存same的ImageURL,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>
我们有一个使用远程服务图像的 Phonegap 应用程序。
这些图片带有 Cache-Control header: 'Cache-Control':'max-age=31536000'。
在 iOS12 之前,图像在应用程序的使用过程中被提取一次并缓存。 升级到 iOS 12 后,缓存停止工作,图像总是从服务器获取。 我们使用 UIWebView(我们还没有迁移到 WKWebView)。
在 iOS 12 或任何其他平台 (Android / web) 上的 Safari 中不会发生这种情况。
我找不到任何关于为什么这突然不再有效的信息。有人知道吗?
最后我们迁移到了 WKWebView。
对于 Phonegap/Cordova 用户:我强烈推荐使用 cordova-plugin-ionic-webview: https://github.com/ionic-team/cordova-plugin-ionic-webview 快速迁移到 WKWebView 而不是 UIWebView。
似乎 UIWebView
不 缓存 background-image
。根据我的测试,使用 <img />
加载远程图像,缓存按预期工作。
此外,如果我们使用global变量来保存same的ImageURL,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>