iOS js交互(OC)
来源:互联网 发布:淘宝每日精选怎么加入 编辑:程序博客网 时间:2024/06/05 19:22
1.先加载html文件
NSString *mainBundleDirectory=[[NSBundle mainBundle] bundlePath]; NSString *path=[mainBundleDirectory stringByAppendingPathComponent:docName]; //docName是html的名字如@"aa.html" NSURL *url=[NSURL fileURLWithPath:path]; request=[NSURLRequest requestWithURL:url];[self.webView loadRequest:request];
2.OC代码调用js方法
a->将数据转换成能传给js的字符串
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object options:NSJSONWritingPrettyPrinted error:&error];_content = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];b->调用js的方法
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initA(%@,1)",_content]]; //initA是JS中的方法
3.js调用OC方法
在UIWebViewDelegate的方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;中写,被js调用的方法,应为每次加载请求的时候都会调用这个方法
NSString *requestString = [[request URL] absoluteString]; //获取请求的链接地址//当js中调用downloaddata://请求时掉用系统方法if([requestString hasPrefix:@"downloaddata://"]){ //调用OC的方法}
4.点击网页上的图片放大
在UIWebViewDelegate的方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;中写,被js调用的方法,应为每次加载请求的时候都会调用这个方法
//@"image-Prefix:http://。。。"]];//点击图片后js返回的地址 if ([request.URL.scheme isEqualToString:@"image-Prefix"]) { NSString* path = [request.URL.absoluteString substringFromIndex:[@"image-image-Prefix:" length]]; path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //path就是图片的链接,可以进行相关操作 return NO; }
0 0
- iOS js交互(OC)
- iOS ---oc和js交互
- iOS--js和oc交互
- iOS OC与js交互
- IOS中的OC和JS的交互(一)
- OC与JS的交互(iOS与H5混编)
- iOS OC与JS,JS与OC交互
- iOS OC与js的交互
- iOS ---oc和js交互2
- iOS - OC和网页JS的交互
- IOS WebView OC与JS 交互 WebViewJavascriptBridge
- iOS开发:OC与JS交互
- ios中oc的js的交互
- iOS js和OC方法交互
- ios oc与js的交互总结
- iOS开发中OC与H5网页交互之OC传值给JS(WKWebView)
- iOS OC与H5网页交互之OC传值给JS(WKWebView)
- iOS webView的高级用法之JS交互,js与oc的相互调用(JavaScriptCore)
- HDU 1548
- ubuntu设置系统时间与网络时间同步(转)
- 正数的算术平均值不小于几何平均值的一个初等证明
- 判断两个( float )变量是否相等以及和 0 值比较方法
- Python 3语法小记(九) 异常 Exception
- iOS js交互(OC)
- 《深入浅出struts2》--第六章,通用标签(以及第五章节标签)疑问
- Leetcode 15 3Sum
- Android 键盘弹出 页面整体上移
- 【转载】计算1至n中数字X出现的次数
- 字符串的操作:取字符, 替换字符,字符拼接,转换,插入字符等
- SVN使用教程
- java多线程学习笔记——锁测试与超时
- 资金安全责任险对个人账户负责?