WebKit(WKScriptMessageHandler)
使用过UIWebView的朋友都知道UIWebViewDelegate这个协议,它能帮助我们监听网页加载的进度,以及错误。
WebKit框架也有这样的协议WKNavigationDelegate,它的功能比UIWebViewDelegate更强,还能监听服务器跳转、身份认证等。
这篇博文为大家带来关于WKNavigationDelegate的介绍。
1 搭建项目
在这里我们不在使用前面的YJBaseVC,而是使用YJSeniorVC类。因为这里开始使用高级模块了。
下面就是YJSeniorVC.m的源代码。
这里已经使用懒加载的方式为大家创建WKWebView,并加载百度首页。大家运行项目即可看见百度首页,如果看不见请检查自己的相关代码和查阅前面的博文。
这里还指向了WKNavigationDelegate,详见
@interfaceYJSeniorVC()
并使用
_webView.navigationDelegate =self;//代理设置
让_webView的navigationDelegate指向当前类。只是当前类还没有实现WKNavigationDelegate而已。
2 WKNavigationDelegate协议
WKNavigationDelegate协议有两大核心部分,第一部分是导航部分,第二部分是页面内监听。
2.1 导航监听
2.2 网页监听
3 实现WKNavigationDelegate
在YJSeniorVC.m中导入如下方法。
再次运行项目,可在控制台看见相应输出。这样我们能更细腻化的把控WKWebView。