2

我正在构建一个 iPad 应用程序以在公共多用户场景中使用,并希望允许临时 Web 浏览会话。但是,当会话结束时,我希望应用程序清除所有隐私浏览数据,包括缓存、cookie 和历史记录。

我已经想出了如何清除缓存和 cookie,但历史正在躲避我。

为了清楚起见,我不想清除的后退/前进历史记录UIWebView(我UIWebView每次都创建一个新实例,所以这不是问题)。我希望清除整个应用程序的浏览历史记录,这样链接就不会出现访问过。

例如,如果我在 Google 上搜索某些内容并访问其中一个点击,那么下次我在 Google 上搜索时链接会变为紫色。我希望删除所有历史记录和过去的网页,以便在重置浏览会话后没有链接保持紫色。

或者,如果我可以完全禁用历史跟踪(如 Chrome 或 Firefox 的“隐私浏览模式”),那也是可以接受的。

更新:有趣的是,我注意到退出并重新启动应用程序会隐式清除浏览历史记录,并且链接在启动时再次显示为蓝色。但是,不幸的是,这对我没有任何帮助,因为该应用程序的设计目的是为了在许多用户中长时间运行。我们不能在每次会话后退出应用程序。

更新 2:进一步的实验表明,Web 历史记录肯定是在每个应用程序的基础上维护的。我在 Safari 中搜索了相同的内容,每次在我的应用程序中显示为紫色的链接在 Safari 中显示为蓝色。必须有一种方法可以从应用程序内访问此本地存储。

4

1 回答 1

1

如果你愿意使用私有框架,这里有一个讨论:How to clear back forward list in UIWebview on iPhone?

如果那不适合您,那么我能想到的唯一其他选择就是删除 webview 然后重新创建它。

于 2013-11-04T19:21:10.697 回答