如何在wkwebview / uiwebview中支持隐身/私密模式

时间:2017-03-30 19:31:46

标签: ios caching nsurlsession wkwebview nshttpcookie

我正在使用incongnito浏览器。当我清除所有cookie时,我正在使用wkwebview,我可以看到谷歌这样的热门搜索引擎会记住已经进行的搜索。

我尝试使用NSURLSession清理NSHTTPCookieStorage和resetcookies中的所有Cookie,但它仍无效。

2 个答案:

答案 0 :(得分:3)

nonpersistentdatastore wkwebsitedatastore wkwebviewconfiguration设置wkwebview NSURLrequestreloadcacheignoringlocalandremotecachedata

NSURlrequest

中为uiwebview设置stuff()

参考

Creating a non-tracking in-app web browser

答案 1 :(得分:0)

在 iOS 中使用 WKWebView 进行私密浏览

根据苹果文档要支持隐私浏览,请在创建 Web 视图之前创建一个数据存储对象并将其分配给 WKWebViewConfiguration 对象的 websiteDataStore 属性。 default() 方法返回将网站数据持久保存到磁盘的默认数据存储。要实现隐私浏览,请改用 nonPersistent() 方法创建非持久性数据存储。

    let webConfiguration = WKWebViewConfiguration()
    webConfiguration.processPool = WKProcessPool()
    webConfiguration.websiteDataStore = WKWebsiteDataStore.nonPersistent()
    let webView = WKWebView(frame: self.webContainerView.bounds, configuration: webConfiguration)
    // Set up request
    if let requestURL = URL(string: "enter_url_to_load") {
        var request = URLRequest(url: requestURL)
        request.httpShouldHandleCookies = false
        request.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
        webView.navigationDelegate = self
        webView.load(request)
    }
    self.webContainerView.addSubview(webView)