簡體   English   中英

在iPhone和iPad上使用UIWebView進行私密瀏覽

[英]Private browsing with UIWebView on the iPhone & iPad

現有應用如何實現此功能???

我是否可以僅為某些網站存儲Cookie,並且僅在我的應用內存儲? 據我所知,Web視圖以共享模式存儲cookie ...因此它們與Safari和其他使用UIWebView的應用程序共享。

根據NSHTTPCookieStorage 文檔 ,應用程序之間不共享cookie:

iPhone OS注意:iPhone OS中的應用程序不共享Cookie。

因此,默認情況下它們似乎應該是“私密的”。 您還可以使用[NSHTTPCookieStorage sharedHTTPCookieStorage]對象將cookie存儲策略設置為根本不存儲cookie,或者如果需要,可以使用deleteCookie:方法自行清理。

對於UIWebview加載的其他內容,在創建由webview加載的NSURLRequest時,可以設置控制是否緩存內容的緩存策略。 例如:

NSURLRequest * request = [NSURLRequest requestWithURL: [NSURL URLWithString: url]
                                          cachePolicy: NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                       timeoutInterval: 60.0]
[webView loadRequest: request];

NSURLRequestReloadIgnoringLocalAndRemoteCacheData告知請求忽略緩存並從網絡加載請求。 我不確定它是否也會阻止來自網絡的響應被緩存,但可以肯定的是,你總是可以自己從緩存中刪除它:

[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];

如果您正在談論私人瀏覽,UIWebView實際上不會在應用關閉后存儲歷史記錄(只是臨時來回)。 相反,您必須自己實現存儲歷史記錄,因此它將自動進行私人瀏覽。

簡短的回答:不要做任何事情。 它已經處於私人瀏覽模式。

編輯:用於處理緩存檢查此方法:

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse

並使cashedResponse返回零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM