WKWebView的使用(JS交互):
引入头文件:#import <WebKit/WebKit.h>
引入代理:<WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler>
定义变量:@property (nonatomic,strong)WKWebView *webView;
与h5进行js交互需要使用到WKWebViewConfiguration。
定义变量:WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
初始化webView:
self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight) configuration:config];
self.webView.UIDelegate = self;
self.webView.navigationDelegate = self;
[self.view addSubview:self.webView];
WKUserContentController* userCC = self.webView.configuration.userContentController;
[userCC addScriptMessageHandler:self name: @"popBack"];
这里举例一个h5通知ViewController Pop出页面的方法,双方沟通定义方法名为popBack
.m文件中实现方法
- (void)userContentController:(WKUserContentController *)userContentController
didReceiveScriptMessage:(WKScriptMessage *)message {
if ([message.name isEqualToString: @"popBack"]) {
[self.navigationController popViewControllerAnimated:YES];
}
}