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
最新文章
- 学习Maven之Maven Clean Plugin
- 从零开始使用Jenkins来构建Docker容器(Ubuntu 14.04)
- poj.1988.Cube Stacking(并查集)
- codeforces 711D D. Directed Roads(dfs)
- WPF 检测管理员权限
- 什么是智能dns解析
- Android-ViewPagerIndicator-master 、Android-PullToRefresh 学习篇
- VS2013中C++创建DLL导出class类
- iOS Socket第三方开源类库 ----AsyncSocket 分类: ios相关 ios技术 2015-03-11 22:14 59人阅读 评论(0) 收藏
- C++ 网络爬虫实现
- MySQL中索引的基础知识
- C# delegate event func action 匿名方法 lambda表达式
- MySQL-5.6.36-部署安装(编译版)
- QProcess与外部程序的调用
- linux CentOS
- python操作samba
- Solidity(address的四个方法)
- es6三个点运算符
- 2019.03.25 Ajax三级联动
- ASCII、Unicode和UTF-8
热门文章
- magento -- 解决magento错误:ERROR: Base table or view already exists: 1050 Table ... already exists
- EF CodeFirst 创建数据库
- 自动生成pdf书签(仅适用于Adobe Acrobat on windows )
- c语言数据结构和算法库--cstl---王博--相关网站和博客
- java实现求数组中元素第二大的元素
- 函数nvl 和decode
- 【002: NetBeans 的 代码补全】
- SQL中的charindex函数与reverse函数用法
- WITH AS的含义
- MSDTC故障排除