WKWebView _WebFilterIsActive returning: NO

Posted timeToShow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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



以上是关于WKWebView _WebFilterIsActive returning: NO的主要内容,如果未能解决你的问题,请参考以下文章

WKWebview 在 macOS 上的默认浏览器中打开目标 =“_blank”链接

WKWebView _WebFilterIsActive returning: NO

WKWebView小记

WKWebView goBack(_:) evaluateJavaScript 如果返回超过 2 个历史记录失败

WKWebView 未打开 SOME target="_blank" 链接

wkwebview a target="_blank" 打不开链接的解决方案