JS_call_APP native 与 html的交互
1.*****
特点:下个版本的交互准备使用这个(http://www.knowsky.com/884428.html)
https://github.com/lifei321/JS-OC
http://www.%@.com/Article/14502 @“w2bc”(这个介绍了WKWebView (iOS 8 + )
http://justsee.iteye.com/blog/2036713(使用说明)
(https://lvwenhan.com/ios/462.html 自己动手打造基于 WKWebView 的混合开发框架(三))
注释:
self.js = [view valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; // Undocumented access to UIWebView's JSContext
self.js[@"ios"] = self;
NSArray *frames = [_web valueForKeyPath:@"documentView.webView.mainFrame.childFrames"];
[frames enumerateObjectsUsingBlock:^(id frame, NSUInteger idx, BOOL *stop) {
JSContext *context = [frame valueForKeyPath:@"javaScriptContext"];
context[@"Window"][@"prototype"][@"alert"] = ^(NSString *message) {
NSLog(@"%@", message);
};
}];
2. ***
本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge。实际上是对
[strongWebView stringByEvaluatingJavaScriptFromString:javascriptCommand];这种方法的封装(
WebViewJavascriptBridge-Obj-C和JavaScript互通消息的桥梁 http://www.cocoachina.com/ios/20150624/12248.html)
特点:有消息机制,但就是要修改html,很麻烦,容易出错.服务端html修改代码,客户端升级更是致命。
http://blog.csdn.net/yanghua_kobe/article/details/8209751
3. *****
从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了
特点:不需要修改html,直接在本地调用,但是调用过于分散。
http://www.bubuko.com/infodetail-995265.html
js调用iOS 在下节
http://blog.csdn.net/lwjok2007/article/details/47058795
源代码我们上传到群空间[TestJSOC.zip]有需要的去下载
4。WebViewJavascriptBridge 原理分析
http://www.2cto.com/kf/201503/384998.html
http://blog.sina.com.cn/s/blog_4a540aa70102vfih.html
http://blog.csdn.net/mociml/article/details/47701133
JS_call_APP native 与 html的交互的更多相关文章
- Hybrid APP之Native和H5页面交互原理
Hybrid APP之Native和H5页面交互原理 Hybrid APP的关键是原生页面与H5页面直接的交互,如下图,痛过JSBridge,H5页面可以调用Native的api,Native也可调用 ...
- Hybrid APP基础篇(三)->Hybrid APP之Native和H5页面交互原理
本文已经不维护,新地址: http://www.cnblogs.com/dailc/p/8097598.html 说明 Hybrid模式原生和H5交互原理 目录 前言 参考来源 前置技术要求 楔子 A ...
- react native与原生的交互
一.交互依赖的重要组件 react native 中如果想要调用ios 中相关的方法,必须依赖一个重要的组件nativemodules import { NativeModules } from ' ...
- Android Native Binder,在Native层与App交互数据
Binder底层是基于C实现的,因此可以作为Native进程与App层交互数据的渠道.其应用场景为:Native Service.Hal驱动设置.应用层JNI服务等. Android 4.4引入SEA ...
- React Native知识12-与原生交互
一:原生传递参数给React Native 1:原生给React Native传参 原生给JS传数据,主要依靠属性. 通过initialProperties,这个RCTRootView的初始化函数的参 ...
- Native与H5交互的一些解决方法
一. 原生代码中直接加载页面 1. 具体案例 加载本地/网络HTML5作为功能介绍页 2. 代码示例 //本地 -(void)loadLocalPage:(UIWebView*)webVi ...
- js与native的交互
WebView与Javascript交互(Android): WebView与Javascript交互是双向的数据传递,1.H5网页的JS函数调用Native函数 2.Native函数调用JS函数,具 ...
- Android混合开发之WebView与Javascript交互
前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...
- 利用C#开发移动跨平台Hybrid App(一):从Native端聊Hybrid的实现
0x00 前言 前一段时间分别读了两篇博客,分别是叶小钗兄的<浅谈Hybrid技术的设计与实现>以及徐磊哥的<从技术经理的角度算一算,如何可以多快好省的做个app>.受到了很多 ...
随机推荐
- rabbitmq之work_pool
worker_pool_worker的作用是用来完成数据操作. 如何获取worker是从worker_pool里获取,并由worker_pool管理. 起动时间: -rabbit_boot_step( ...
- tomcat chinese miscode and chinese input in IDEA
JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF -8 -Duser.lang ...
- swift2.0单例
import Foundation public class SwiftSingleton{ var name = "000" public static le ...
- 纯代码TableView自适应高度(很老的使用方法)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return ...
- Android之ViewHolder用法
http://www.cnblogs.com/mengdd/p/3254323.html (zhuan) http://blog.csdn.net/mrzhang_happy/article/deta ...
- Java集合---ArrayList的实现原理
目录: 一. ArrayList概述 二. ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除 6) 调整数组容量 ...
- .NET开发实战1-军队未出,粮草先行。
马上期末考试了,会想起这个学习的自己.一直都在一个人搞java的研究,C#课也没怎么去上.所以在这里想弥补一下自己没去上课的原因,也希望老师能够理解这个还在迷茫的我. 正所谓,军队未出粮草先行,所以我 ...
- 夺命雷公狗-----React---6--props多属性的传递
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Arduino示例教程超声波测距实验
超声波传感器 超声波是一种超出人类听觉极限的声波即其振动频率高于20 kHz的机械波.超声波传感器在工作的时候就是将电压和超声波之间的互相转换,当超声波传感器发射超声波时,发射超声波的探头将电压转化的 ...
- Git Permission denied (publickey).
有可能, jenkins slave service or jenkins service的logon 账户没有设置好