ios - 如何清除/禁用 UIWebView 的浏览历史记录

标签 ios ipad uiwebview privacy

我正在构建一个用于公共(public)多用户场景的 iPad 应用程序,并希望允许临时网络浏览 session 。但是,当 session 结束时,我希望该应用清除所有私有(private)浏览数据,包括缓存、cookie 和历史记录。

我已经找到了清除缓存和 cookie 的方法,但我无法了解历史记录。

明确一点,我不想清除 UIWebView 的后退/转发历史记录(我每次都创建一个新的 UIWebView 实例,以便不是问题)。我希望清除整个应用程序的浏览历史记录,这样链接就不会显示为已访问。

例如,如果我在 Google 上搜索某项内容并访问其中一个匹配项,则下次我用 Google 搜索时该链接会变成紫色。我希望删除所有历史记录和过去的网页,以便在重置浏览 session 后没有链接保持紫色。

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

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

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

最佳答案

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

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

关于ios - 如何清除/禁用 UIWebView 的浏览历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19735735/

相关文章:

ios - 崩溃 : WebThread - EXC_BAD_ACCESS KERN_INVALID_ADDRESS

ios - Cocoapods 总是安装旧的 React (0.11.0)

iphone - 当 tableview 比屏幕长时将其转换为图像

ios - 连接硬件键盘时获取 iOS 键盘高度

iphone - 将 UIButton 放在全屏 UIWebView 上以在 UIWebView 加载失败时将其关闭

ios - 如何从 UIWebView 获取 html 内容?

ios - viewControllerAfterViewController : does not get called with UIPageViewController

ios - 如何在 iOS 应用程序中获取系统字体?

objective-c - 在 UIView 中查找特定点

ipad - UIPopoverController & UIImagePickerControl : "Popovers cannot be presented from a view which does not have a window"