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

原文地址:https://www.cnblogs.com/lidarui/p/6210579.html