iOS webView js和Objective c交互
来源:互联网 发布:网络名词流行用语解释 编辑:程序博客网 时间:2024/06/05 07:52
常见问题, 使用webView时, 常常需要调用Objective c的方法。
两种方式可以完成需求, 简单记录方便日后常看。
第一种是网页js调用方法loadURL();
例如:
网页端:
loadURL("myWebView://callfunc?param1=1¶m2=2.......");
iOS端:webView代理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSString *url = [[request URL].absoluteString stringByRemovingPercentEncoding]; NSLog(@"%@", url); if ([url hasPrefix:@"myWebView:"]) { //调用网页,弹出窗口 [webView stringByEvaluatingJavaScriptFromString:@"alert(1);"]; } return YES;}
第二种方法
在iOS代码处获取javaScriptContext, 得到上下文。
具体代码:
iOS端:webView代理
- (void)webViewDidFinishLoad:(UIWebView *)webView{ JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; context[@"test1"] = ^ NSString *() { NSArray *args = [JSContext currentArguments]; for (id obj in args) { NSLog(@"%@",obj); } return @"123"; }; }
此处, 申明一个方法名为test1的方法。
网页端, js直接调用普通方法一样,直接调用即可。
0 0
- iOS webView js和Objective c交互
- 【iOS】WebView的使用、Javascript和Objective-C的交互
- iOS webview 和 js 交互
- Objective-C和JS交互
- iOS js与objective-c的交互
- iOS Objective-C与JS交互
- 在 Mac Webview 中 Objective-c 与 JS 交互
- iOS解析---WebView和js交互原理
- iOS解析---WebView和js交互原理
- iOS解析---WebView和js交互原理
- iOS webView和JS简单交互处理
- iOS中WebView和JS的交互
- iOS中webview和js的交互
- iOS中webView和JS交互
- iOS WebView JS 交互
- {Unity} c#和iOS Objective-C交互
- WebView和js交互
- WebView和js交互
- layoutSubviews
- 线程状态及面试常见问题
- 面向对象与面向过程的区别?
- CSDN-markdown编辑器官方文档介绍
- 噪声的定义
- iOS webView js和Objective c交互
- 安卓系统里最好用的VPN工具汇总
- ClassReflection(Copy bean and list) 运用反射来实现bean或list的弱引用
- JAVA判断字符串是否为空,是否只有空格
- Linux常用命令(一)之文件处理命令
- MFC关闭指定edit输入法
- 文章标题
- SpringMVC 学习 01 - 新建SpringMVC项目
- Android 自定义控件