iOS和JS之间的交互
来源:互联网 发布:获取httppost请求数据 编辑:程序博客网 时间:2024/06/02 03:35
iOS调用JS的方法:
//js方法名+参数 NSString* jsCode = [NSString stringWithFormat:@"initCarLicenseInfo('%@')",object]; //调用html页面的js方法 [webView stringByEvaluatingJavaScriptFromString:jsCode];
JS调用iOS的方法:
这里iOS通过拦截H5触发的alert来实现调用,H5触发一个alert弹窗,将要调用的iOS方法名作为弹窗内容,iOS这边通过以下方法拦截这个弹窗,获取到方法名称,然后实现调用
@interface UIWebView (JavaScriptAlert)- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(CGRect *)frame;@end
@implementation UIWebView (JavaScriptAlert)- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(CGRect *)frame { if ([message isEqualToString:kShowTakePhotoButton]) { [[NSNotificationCenter defaultCenter] postNotificationName:kShowTakePhotoButton object:message]; } else if([message isEqualToString:kHideTakePhotoButton]) { [[NSNotificationCenter defaultCenter] postNotificationName:kHideTakePhotoButton object:message]; } else { [DXCommon showAlertMessage:message]; } NSLog(@"h5 message = %@",message);}@end
只要将以上类别导入到iOS工程中去就OK了,方法的实现是app工具自己的情况去实现,例如这里我拦截到kShowTakePhotoButton和kHideTakePhotoButton的时候分别抛出通知调用相应的方法,并且没有弹框,其他时候正常弹框;
实现类似微信里面浏览H5:
加载H5的并使用原生导航栏的时候,我们通过webView.canGoBack来判断是否是返回到最后一级页面,如果不是最后一级,添加关闭按钮(实现导航控制器pop),而返回按钮实现[webViewgoBack];方法来实现返回上一级页面,否则导航控制器pop;
0 0
- iOS和JS之间的交互
- iOS与Html5和JS之间的交互---学习笔记
- iOS UIWeb与JS之间的交互
- iOS和JS的交互
- js和ios的交互
- js和android之间的交互
- webview和js之间的交互
- android 和 js 之间交互的封装
- IOS和H5之间的交互开发
- [IOS经验总结]UIWebView与JS之间的数据交互
- [IOS经验总结]UIWebView与JS之间的数据交互
- [IOS经验总结]UIWebView与JS之间的数据交互
- JS 和IOS交互
- iOS和JS交互
- iOS和JS交互
- iOS和JS的一些交互
- iOS中WebView和JS的交互
- iOS中webview和js的交互
- Android Application[转]
- [Ubuntu]Enable 3D HW acceleration on VMware
- Linux下RPM软件包的安装及卸载
- Linux中Hadoop的安装和配置方法
- ViewController的关键流程
- iOS和JS之间的交互
- 设置按钮背景透明
- 动态读取配置文件 config
- angularJs中关于ng-class的三种使用方式说明
- 【bzoj1075】【scoi2005】【超级格雷码】【找规律】
- AD Group Type and Permissions Setting in Cognos
- 【性能优化】【UI】性能优化之ListView
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器