Objective-C UIWebview JS 交互
来源:互联网 发布:秋冬日系男装搭配 知乎 编辑:程序博客网 时间:2024/06/05 20:58
一、在OC中调用网页中的 js 方法。
Objective-C 代码
[self.webView stringByEvaluatingJavaScriptFromString:@"alertMessage('弹窗')"];
网页 JS 中方法
function alertMessage(message) { alert(message);}
二、网页超链接调用Objective-C中的方法
1.设置webView的代理<UIWebViewDelegate>
2.实现代理方法shouldStartLoadWithRequest:(该方法当url加载的时候会自动执行)
网页代码
<a href="client://addImg/headImg">点我调用OC方法</a>
Objective-C 核心代码
#pragma mark UIWebViewDelegate 方法- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { // 可以直接拿到发送请求的网址 NSString *urlStr = request.URL.absoluteString; if ([urlStr hasPrefix:@"client://"]) { // 判断请求是不是以 client:// 开头 //获得去除请求头的 url 路径 NSString *urlContent = [urlStr substringFromIndex:[@"client://" length]]; //用 / 来拆分字符串 NSArray *urls = [urlContent componentsSeparatedByString:@"/"]; NSString *funName = [NSString stringWithFormat:@"%@:", urls[0]]; // 从url获取方法名,带参数的方法,加冒号 SEL callFun = NSSelectorFromString(funName); //取消警告 # pragma clang diagnostic push # pragma clang diagnostic ignored "-Warc-performSelector-leaks" [self performSelector:callFun withObject:urls[1]]; // 调用 OC 中的方法,并且传递参数 return NO; } return YES;}#pragma mark 此方法通过网页调用-(void)addImg:(NSString *) headImg { NSLog(@"通过网页调用OC方法:%@",headImg);}
三、Objective-C 注入JS到网页
Objective-C 核心代码
- (void)jsClick { [self.webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');" "script.type = 'text/javascript';" "script.text = \"function myFunction() { " //定义myFunction方法 "var field = document.getElementsByName('word')[0];" "field.value='WWDC2014';" "document.forms[0].submit();" "}\";" "document.getElementsByTagName('head')[0].appendChild(script);"]; //添加到head标签中 [self.webView stringByEvaluatingJavaScriptFromString:@"myFunction();"]; }
0 0
- Objective-C UIWebview JS 交互
- js 与 uiwebview objective c 交互
- UIWebView 与 JS 交互(1):Objective-C 调用 Javascript
- UIWebView中Objective-C与JavaScript交互
- UIWebView 中 JS 与 Objective-C 通信
- Objective-c与JS交互
- Objective-C和JS交互
- Objective-c与js交互
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
- uiwebview与js交互
- css透明度的设置 (兼容所有浏览器)
- 自定义jQuery Mobile工具栏按钮
- JQuery Mobile 图片布局
- jQuery Mobile 自定义导航条图标
- iOS ad-Hoc 发布测试应用
- Objective-C UIWebview JS 交互
- IOS 基于APNS消息推(JAVA后台)
- jQuery Mobile 1.4.5 整理
- CSS样式初始化代码
- jquery 性能优化
- IOS AFNETWORKING POST
- JS 常用字符串,数组操作
- AFNetWorking 相关记录
- js触发按钮点击事件