我有一个大量使用UIWebview
的应用,我的大多数应用都是网络服务器中的HTML文件。最近发生了一些奇怪的事情,经过一段时间的使用后,UIWebview停止从网上加载HTML(网络服务器通过查看日志没有收到任何HTTP请求)。 UIWebview
仍然可以看到HTML,我怀疑UIWebview
是从本地cache
加载HTML文件。
但是在加载HTML文件后,UIWebview
没有在该HTML文件中运行任何javascript,这将发出许多AJAX请求。
我需要手动卸载应用程序并重新安装它以使其再次运行,终止应用程序并重新启动无法帮助。
我想知道这与UIWebview
缓存有关,因为每次发生时,应用程序都会使用一段时间(几周)。
以前有人遇到过同样的问题吗?如何解决?
它随机发生,难以复制。
答案 0 :(得分:1)
为什么不为请求设置缓存策略。我认为这样你可以选择何时从缓存加载以及何时重新加载它。类似下面的代码可能有所帮助。
let url = NSURL (string: yourUrlString);
var cachePolicy: NSURLRequestCachePolicy?
//check if connected to network
if(conected to network){
cachePolicy = .ReloadIgnoringLocalCacheData
}
else{
cachePolicy = .ReturnCacheDataDontLoad
}
let request = NSURLRequest(URL: url!, cachePolicy: cachePolicy, timeoutInterval: 15.0)
yourwebView.loadRequest(request)