UIWebView中的JS与ViewController中的OC进行交互,必须两边可以进行方法和参数上的传递。
分为两个方向:
JS to OC
UIWebView的Delegate中提供了截取请求的方法:
1 | - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ |
通过该方法,可以获取JS的请求,并从URL路径中获取到调用的方法名和参数,从而调用相应的OC方法。
OC to JS
UIWebView中定义了以下方法,可以直接调用JS中的方法,并传递参数:
[UIWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:
@"getErrorCallBack(%d, '%@')", errorCode, errorMessage]];
这里,注意字符串需要用单引号括起来,否则会调用不成功。