ios中objective-c与js的交互
来源:互联网 发布:smi s java 编辑:程序博客网 时间:2024/05/23 15:36
转载地址 http://blog.csdn.net/mkhgg/article/details/7109097
iOS中js与objective-c的交互
因为在iOS中没有WebKit.Framework这个库的,所以也就没有 windowScriptObject对象方法了。要是有这个的方法的话
就方便多了,(ps:MacOS中有貌似)
现在我们利用其他方法去达到js与objective-c的交互效果。
首先是objective-c调用js中的代码,可以用uiwebview中的一个方法
stringByEvaluatingJavaScriptFromString:后面接的是js中的方法名。这个函数的返回值就是所调用js方法
的返回值。
而在js调用objective-c的方法就没那么简单了,
在js中的代码应该这么做:
- function testFunc(cmd,parameter1)
- {
- alert(1);
- document.write(Date());
- document.location="objc://"+cmd+":/"+parameter1; //cmd代表objective-
- c中的的方法名,parameter1自然就是参数了
- }
- - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:
- (NSURLRequest*)request navigationType:
- (UIWebViewNavigationType)navigationType //这个方法是网页中的每一个请求都会被触发的
- {
- NSString *urlString = [[request URL] absoluteString];
- NSArray *urlComps = [urlString
- componentsSeparatedByString:@"://"];
- if([urlComps count] && [[urlComps objectAtIndex:0]
- isEqualToString:@"objc"])
- {
- NSArray *arrFucnameAndParameter = [(NSString*)[urlComps
- objectAtIndex:1] componentsSeparatedByString:@":/"];
- NSString *funcStr = [arrFucnameAndParameter objectAtIndex:0];
- if (1 == [arrFucnameAndParameter count])
- {
- // 没有参数
- if([funcStr isEqualToString:@"doFunc1"])
- {
- /*调用本地函数1*/
- NSLog(@"doFunc1");
- }
- }
- else if(2 == [arrFucnameAndParameter count])
- {
- //有参数的
- if([funcStr isEqualToString:@"doFunc1"] &&
- [arrFucnameAndParameter objectAtIndex:1])
- {
- /*调用本地函数1*/
- NSLog(@"doFunc1:parameter");
- }
- }
- return NO;
- };
- return YES;
- }
这个方法是可以达到js调用本地objective-c的方法,可惜没办法把返回值返回给js,所以还是要绕过
stringByEvaluatingJavaScriptFromString:这个弯,用
- stringByEvaluatingJavaScriptFromString:
函数去掉js的方法,把返回值当做js方法中的参数形式传回去给
js。这个可以有,呵呵~
0 0
- ios中objective-c与js的交互
- iOS中js与objective-c的交互
- iOS中js与objective-c的交互
- 转载 iOS中js与objective-c的交互
- iOS中js与objective-c的交互
- ios中objective-c与js的交互
- ios中objective-c与js的交互
- iOS---中objective-c与js的交互
- iOS中js与objective-c的交互
- iOS js与objective-c的交互
- iOS Objective-C与JS交互
- iOS js与objective-c的交互(转)
- iOS js与objective-c的交互(转)
- iOS--- js与objective-c的交互(转)
- iOS js与objective-c的交互(转)
- Objective-C 中 JS与代码的交互
- iOS Objective-C与JavaScript的交互
- 【iOS】Objective-C与JavaScript的交互
- Spring原理探索第一步-以excel导入为列探讨SpringIoc原理
- 如何估算网站日承受最大访问PV
- 流操作的基本步骤
- 【Foundation Frame】NSDictionary/NSMutableDictionary
- 代理模式
- ios中objective-c与js的交互
- ZOJ3229 Shoot the Bullet
- 第九话-原型模式
- objective-c 语法 细节(一)
- java--jdk--安装
- session在用户退出时候的清空问题
- 设置内存GC提高IIS+PHP运行稳定性
- 黑马程序员——java基础加强高薪技术总结
- C语言四书五经