IOS Webview JS交互之事件拦截获取
来源:互联网 发布:js设置字符串的编码 编辑:程序博客网 时间:2024/06/10 21:13
最近项目中用到了webvVew,webView加载的网页中有两个按钮,要在app里面响应这两个按钮的点击事件,并接受JS传过来的参数。
ios7 的时候,出来了一个新的类库叫JavaScriptCore.framework
- (void)setupJsContent{ //获取当前JS环境 _content = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; // 打印异常 _content.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) { context.exception = exceptionValue; LogInfo(@"%@", exceptionValue); }; //获取JS事件 WS(bself); _content[@"showtag"] = ^(int num,NSString *tag){ LogInfo(@"num = %d \n tag = %@",num,tag); if (num == 1) { //查看项目所在地 //获取经纬度 NSArray *locationArray = [tag componentsSeparatedByString:@","]; ProjectLocationViewController *locationCtrl = [[ProjectLocationViewController alloc]init]; locationCtrl.longitude = [locationArray[0] floatValue]; locationCtrl.latitude = [locationArray[1] floatValue]; [bself.navigationController pushViewController:locationCtrl animated:YES]; }else if(num == 2){ UIAlertView *alter = [[UIAlertView alloc]initWithTitle:@"标题" message:@"内容" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; alter.alertViewStyle = UIAlertViewStylePlainTextInput; [alter show]; } };}
拦截JS中“showtag”事件,并接受参数,自定义响应事件
iOS webView JS交互还有一个第三方库 地址 :https://github.com/marcuswestin/WebViewJavascriptBridge
0 0
- IOS Webview JS交互之事件拦截获取
- iOS 之webView与js交互
- iOS WebView JS 交互
- iOS 与HTML5交互之捕捉HTML5按钮点击事件,获取webview上按钮的点击事件
- iOS 与HTML5交互之捕捉HTML5按钮点击事件,获取webview上按钮的点击事件
- iOS获取webView的内容等(JS交互)
- iOS 基于JavaScriptCore 不等webView加载完毕就交互,网页获取原生内容。 webView的高级用法之JS交互,js与oc的相互调用
- iOS webview 和 js 交互
- iOS webView 与js交互
- iOS webView与js交互
- iOS WebView中的JS交互
- iOS webView的高级用法之JS交互
- iOS ios与js交互,获取webview完整url,title,获取元素并赋值跳转
- Android WebView JS交互之响应WebView中的图片点击事件
- WebView Js交互之混合交互
- ios与js交互,获取webview完整url,title,获取元素并赋值跳转
- ios与js交互,获取webview完整url,title,获取元素并赋值跳转
- ios与js交互,获取webview完整url,title,获取元素并赋值跳转
- Java选择结构、循环结构
- Java中方法与数组
- Java中二维数组与面向对象
- Java中面向对象的详解
- Java中文档制作与继承
- IOS Webview JS交互之事件拦截获取
- Java中多态、抽象类和接口
- MapReducer程序调试技巧
- 利用ClouderaManager启动HBase时,出现 master.TableNamespaceManager: Namespace table not found. Creating...
- HDFS中Java的API使用测试
- HDFS中的checkpoint( 检查点 )的问题
- java中的包以及内部类的介绍
- java.io.IOException: Too many open files
- 如何利用Cloudera Manager来手动安装parcel包