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:
有个需求,点击 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:
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- Extjs4.0 最新最全视频教程
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 详解HDFS Short Circuit Local Reads
- Javascript中toFixed方法的改进
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- 5个常见可用性错误和解决方案
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- Lua和C语言的交互详解
- 简单谈谈lua和c的交互
- js显示当前星期的起止日期的脚本
- JQuery与iframe交互实现代码
- 爆炸式的JS圆形浮动菜单特效代码