【问题标题】:iOS UIWebview cache mechanismiOS UIWebview 缓存机制
【发布时间】:2016-10-14 23:40:16
【问题描述】:

我有一个应用程序大量使用UIWebview,我的大部分应用程序都是网络服务器中的 HTML 文件。最近发生了一些奇怪的事情,在使用一段时间后,UIWebview 停止从 Web 加载 HTML(Web 服务器通过查看日志没有收到任何 HTTP 请求)。 UIWebview 仍然可以看到 HTML,我怀疑 UIWebview 是从本地 cache 加载 HTML 文件。

但在加载 HTML 文件后,UIWebview 并没有在该 HTML 文件中运行任何 javascript,这将发出许多 AJAX 请求。

需要手动卸载App重新安装才能再次运行,杀掉App重启也没用。

我想知道这和UIWebview缓存有关,因为每次发生,App都会使用一段时间(几个星期)。

以前有没有人遇到过同样的问题?如何解决?

这是随机发生的,很难重现。

【问题讨论】:

    标签: javascript ios caching uiwebview


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2012-02-21
      • 2013-09-07
      • 1970-01-01
      • 2012-06-13
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多