在UIWebView中使用history.back(),但加载的预页面包含非常旧的数据



IOS 8.0+

我的应用程序使用UIWebview访问一个论坛网站。论坛首页包含两个标签:默认的一个是"推荐",另一个是"最新"。当用户切换到' latest '标签时,同时页面运行以下代码保存状态:

window.history.pushState(null, title, url);

之后,如果用户对某个帖子感兴趣,他/她会点击链接并跳转到新页面查看该帖子的详细信息。在这个页面中,我使用跟随代码让用户有一种方法回到' latest ':

history.back(-1);

现在有趣的事情发生了,回到' latest '标签,但是post数据是旧的。

经过一些测试,我发现数据总是在安装应用程序后第一次加载。这个错误不会发生在Safari或Android应用程序。

我相信它应该与webView缓存有一些关系。但是为什么UIWebview不使用新的缓存?以及如何解决这个问题?

哦不…没人遇到这个问题吗?

我目前的解决方案是:使用js代码在返回时自动刷新页面

最新更新