美文网首页
WKWebView的使用和JS交互

WKWebView的使用和JS交互

作者: 夏天的风_song | 来源:发表于2017-11-30 16:01 被阅读0次

参考文章:
IOS WKWebview 使用集锦
WKwebView和JS交互
自己的OCdemo
自己的swiftDemo

JS调用OC的方法

1、首先要实现一个协议WKScriptMessageHandler

1.png
2、在初始化WebView时,配置config
2.png
在dealloc里移除
-(void)removeScriptMessageHandlerForName:(NSString *)name;
3、处理和实现方法
/**
 根据方法名做相应的处理

 @param userContentController userContentController description
 @param message message description
 */
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message{
    //message.name,message.body,message.frameInfo
    if ([message.name isEqualToString:@"WXPay"]) {
        dispatch_async(dispatch_get_main_queue(), ^{
            
        });
    }

至此,H5调用OC的方法已完成

OC调用JS方法

在WebView加载完成后调用

#pragma mark- ------------------------OC 调用JS方法
    //OC调用JS的方法:getImages()是方法名和参数
    [_webView evaluateJavaScript:@"getImages()" completionHandler:^(id _Nullable script, NSError * _Nullable error) {
        //代码出错可以在这里处理
    }];
 //pragma mark- ------------------------swift 调用JS方法
//在这里我调用的是点击sendAPP按钮的方法(注意打印结果输出,我们并没有点击按钮,但是输出了fuction1方法)
        webView.evaluateJavaScript("sendApp()")  { (result, error) in
            guard error == nil else {
                print("there was an error")
                print(error)
                return
            }
            
        }

相关文章

网友评论

      本文标题:WKWebView的使用和JS交互

      本文链接:https://www.haomeiwen.com/subject/vqevbxtx.html