WKWebView的使用和JS交互

参考文章:
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
            }
            
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,266评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 11,991评论 9 105
  • 在这漆黑的夜里,我愿是那天上的星星,默默照亮你前行的路。也许只是微弱的光,但我仍会拼尽全力,给你最温暖的情意。 坚...
    珠海红叶原创阅读 179评论 0 1
  • 有些人总是自嘲自己胸无大志,从不肯谈及理想等字眼,其实并不是真的心中无梦,只是在社会现实中抹杀了理想,让自己符合社...
    花火123阅读 519评论 1 2
  • 这是一个故事,后来成了事故。 他是我的一个同学,像我们一样是一个再平凡不过的在校大学生。在处处是宏伟建筑宽阔马路充...
    黎尚荣阅读 194评论 0 1