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

Posted

技术标签:

【中文标题】在 UIWebView 中使用 history.back() 但加载的前页包含非常旧的数据【英文标题】:Using history.back() in UIWebView but loaded pre page contains very old data 【发布时间】:2015-08-17 09:31:54 【问题描述】:

ios 8.0+

我的应用使用 UIWebview 访问论坛站点。 论坛首页包含两个标签:默认一个是“推荐”,另一个是“最新”。使用ajax加载post数据当用户切换到'Newest'标签时,页面同时运行以下代码保存状态:

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

之后,如果用户对某个帖子感兴趣,他/她会单击链接并跳转到新页面以查看帖子的详细信息。在此页面中,我使用以下代码让用户有办法返回“最新”:

history.back(-1);

现在有趣的事情发生了,回到“最新”标签,但帖子数据是旧的。

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

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

【问题讨论】:

【参考方案1】:

哦不...没有人遇到这个问题?

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

【讨论】:

以上是关于在 UIWebView 中使用 history.back() 但加载的前页包含非常旧的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIWebView 中使用 Facebook 评论插件

在 UIWebView 中使用进度条?

使用swift在ios的Uiwebview中添加参数

在 UIScrollView 中使用多个 UIWebView

在 UIWebview 之类的 ViewController 中使用 SafariViewController

在 UIWebView 中使用基于 Google JavaScript 的 StreetView