您的位置:首页 > 移动开发 > IOS开发

iOS Native与 H5交互之 H5传递信息给 native

2016-03-10 15:34 323 查看
Example:

有个需求,点击 H5页面的一个按钮,将
H5
页面的信息传递给我们 native

Method:



目前我做过的项目中使用过3种方案:

第一种是集成WebViewJavascriptBridge(地址:https://github.com/marcuswestin/WebViewJavascriptBridge)这是方案简单快速,推荐使用

第二种自己来写,原理如下:因为 native中可以时刻监听 webView的请求,故我们可以从这点出发,下面有两种实现方式:

1>我们可以让 H5开发人员在点击按钮的这个动作中,发起一个虚拟的请求(拼一个无效的
url
,可以将传给 native的信息拼入,看了WebViewJavascriptBridge的源码,发现他的原理与这类似);

2>如果不将 native的信息拼入,也可以这样操作,因为是无效
url
,肯定是请求失败,H5端可以将需要传给 native
端的信息包入失败信息里面传给我们(不推荐这样做,时间耗费的比第一种多)

第三种使用 iOS7.0后新增 API实现

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

self.jsContext[@"jsBack"] = ^(NSDictionary *param) {

/// param返回数据

};

以上3种方案均可实现 H5端向
Native
传送信息

Demo地址:https://github.com/indexjincieryi/NDH5ToNative

如果觉得对你有帮助,就给个 star 吧!

Demo Show:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios native H5 js 交互