iOS交互之Object-C与javaScript
来源:互联网 发布:手机4g网络dns劫持 编辑:程序博客网 时间:2024/05/21 09:43
下面这篇博文说明的是如何利用webviewJavascriptBridge实现ObjC与javaScript的交互,那么什么是oc与js的交互? 下面简单说明一下,比如说你的ios应用中有个webview,webview加载了一个html文件,html文件上呢有个button,我们的需求是 点击html上的button来获取oc中的数据或者执行oc的方法,这就用到了我们的交互技术。废话不多说,我们来实现功能。
1.下载webviewJavascriptBridge;
2.将其导入工程;
3.导入头文件并声明变量属性:
#import “WebViewJavascriptBridge.h"
@property(nonatomic,retain)WebViewJavascriptBridge*bridge;
4.初始化webview并加载一个html文件(html代码稍后贴上):
UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds];[self.view addSubview:webView];
NSString *path=[[NSBundle mainBundle]pathForResource:@"index" ofType:@"html"];
NSURL *str=[NSURL URLWithString:path];
[webView loadRequest:[NSURLRequest requestWithURL:str]];
5.在oc中初始化webviewjavascriptbridge:
_bridge = [WebViewJavascriptBridge bridgeForWebView:webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"ObjC 收到信息来自 JS: %@", data); }];
6.在js中配置webviewjavascriptbridge(鉴于许多ios开发者不懂web前端,下面将html页面原码都贴出来,大家command+c,command+v就可以了):
WebViewJavascriptBridge Demo
7.在oc中注册一个方法testJavascriptHandler当点击html中的按钮时调用这个方法:[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"testObjcCallback called: %@", data); responseCallback(@"Response from testObjcCallback"); }];
8.至此简单的js调oc方法就实现了,因为这篇博文仅单一功能做了介绍,如果想全面学习的话可以参考下面链接:http://honglu.me/2014/09/27/WebViewJavascriptBridge使用/
- iOS交互之Object-C与javaScript
- JavaScript与Object-C交互
- iOS 开发 Object-C和JavaScript交互详解之OC与JS交互在UIWebView中使用
- iOS 开发 Object-C和JavaScript交互详解之OC与JS交互在WKWebView中使用
- iOS 开发 Object-C和JavaScript交互详解之OC与JS交互在JavaScriptCore中使用
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- iOS开发之Objective-C与JavaScript的交互
- 子网划分标准场景
- Galaxy Nexus I9250开机卡在X画面的解决办法
- xcode 使用的常用的快捷键
- tableView滑动删除返回错误 [ tableView:canEditRowAtIndexPath:]:message sent to deallocated instance
- ios开发调试总结
- iOS交互之Object-C与javaScript
- 关于ListView的加载原理及优化问题
- js 回车事件兼容多个浏览器
- c++第二次实验
- (4.1.36.1)declare-styleable:自定义控件的属性
- 开始吧
- springmvc如何拦截上传文件最大限制异常
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String
- Apple Pay接入详细教程