原生API实现H5页面点击事件接管

首先h5方法要求

  如图:

button 后面的onclick="commitss()" , 点击方法名commitss()是两边商量好固定不变的

在app端:

  - (void)webViewDidFinishLoad:(UIWebView *)webView

{

JSContext* jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

//捕获异常信息

jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue)

{    context.exception = exceptionValue;

NSLog(@"异常信息:%@", exceptionValue);

};

jsContext[@"commitss"] = ^(NSString *str)

{

NSLog(@"_________%@",str);

};

}

注:// str 为点击网页上的button传递的参数

参数的格式要button传递的参数类型一致才可取到对应的参数信息。

推荐阅读更多精彩内容

  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 1,633评论 1 8
  • 本博客主要分以下几个方面来介绍iOS中的JavaScriptCore JavaScriptCore简介 JavaS...
    dullgrass阅读 3,390评论 1 39
  • JavaScriptCore框架主要是用来实现iOS与H5的交互。由于现在混合编程越来越多,H5的相对讲多,所以研...
    水灵芳蕥阅读 742评论 1 8
  • 跟原生开发相比,H5的开发相对来一个成熟的框架和团队来讲在开发速度和开发效率上有着比原生很大的优势,至少不用等待审...
    大冲哥阅读 879评论 0 7
  • 当你的水平还没达到一定程度时,别人告诉你的道理你也许不能理解,你拥有的东西你也许不能一直占有,这是所谓德不...
    素手剥新橙阅读 130评论 0 1