WKWebView _WebFilterIsActive returning: NO


寫這篇文是因為在UIWebView加載頁面的時候有時候會返回:

filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;

 _WebFilterIsActive returning: NO

網上查詢了很多,大概是Htpps的問題。由於目前服務器並不支持https,雖然頁面可以加載,但是看到這些輸出心里就是不爽。

加載HTTPS請求,但不安全的資源'…'。這個內容也應該是通過HTTPS;

雖然並不知道WKWebView是否能從根本上解決這個問題,但是改為WK以后確實沒有同樣的輸出出現;

另外WK在性能上的確優於UIWebView,但是WK只支持iOS8以后的系統,所以如果項目不要求支持iOS8以下,選擇WK是更好的決定;

速度更快了,占用內存少了,一句話,WKWebView是App內部加載網頁的最佳選擇!

一、加載網頁或HTML代碼的方式與UIWebView相同,代碼示例如下:

 WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
[self.view addSubview:webView];

  

二、加載的狀態回調 (WKNavigationDelegate)

// 頁面開始加載時調用
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation;
// 當內容開始返回時調用
- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation;
// 頁面加載完成之后調用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation;
// 頁面加載失敗時調用
- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation;

 

這里插一條。以前我們控制html播放器在頁面播放會使用

_webView.allowsInlineMediaPlayback = YES;

在使用WK的時候需要做一些更改:

_webView.configuration.allowsInlineMediaPlayback = YES;

  

 

知道以上這些就可以簡單的加載出你需要的頁面。深層次的用法可以去查詢API,另外簡書大神的博客可供參考:

http://www.jianshu.com/p/6ba2507445e4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM