IOS js交互(网页按钮点击回调)

网页里面的一段 html 代码如下

<  br  > <  input type="button"  onclilc="window.demo.toMesssage()"  value="1、消息"/ >  < br >

<  br  > <  input type="button" onclick="window.demo.toActive()  value="2、赛事" / >  <  br  >

比如有这2个按钮。点击网页后从app跳转到消息和活动界面

在IOS上处理方法是:

利用js注入

[webView stringByEvaluatingJavaScriptFromString:@"demo={};"];

NSString *jsMethodStr1 = [NSString stringWithFormat:@"demo.toActive();"];

NSString *jsMethodStr2 = [NSString stringWithFormat:@"demo.toMesssage();"];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr1];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr2];

代码注入后的回调代码

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

NSString *demo =@"demo";

//消息

context[demo][@"toMesage"] = ^() {

//点击网页中消息按钮后回调

};

context[demo][@"toActive"] = ^() {

//点击网页中赛事按钮后回调

};

如果有参数的,写在块的参数列表就可以了

一段代码试例,请自行代码优化

觉得有用处的 请给个好评啊~~

文/小土炮(简书作者)

原文链接:http://www.jianshu.com/p/88c7690901b2

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

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

推荐阅读更多精彩内容

  • 网页里面的一段 html 代码如下 < br > < input type="button" onclilc="w...
    kentchen91阅读 3,962评论 3 10
  • 一、简介 近两年随着HTML5的迅速发展与日趋成熟,越来越多的移动开发者选择使用HTML5来进行混合开发,不仅节约...
    RainyGY阅读 1,904评论 1 12
  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 3,114评论 1 8
  • 跟原生开发相比,H5的开发相对来一个成熟的框架和团队来讲在开发速度和开发效率上有着比原生很大的优势,至少不用等待审...
    大冲哥阅读 1,865评论 0 7
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7