一.oc调用js
在webViewDidFinishLoad:(UIWebView *)webView 方法中调用[webView stringByEvaluatingJavaScriptFromString:【jsString】];
二.js调用oc
NO.1截获URL
在webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType方法里截获url,分离方法名和参数;
NO.2调用库<JavaScriptCore/JavaScriptCore.h>
<1>获取该UIWebview的javascript执行环境;
JSContext *context = [webview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
<2>在该javascript执行环境中,定义一个js函数;
self.jsContext[@"judgeLogin"] = ^() {
//方法实现
};
<3>HTML中直接调用咱这边定义的方法即可。
function buttonClick() {
judgeLogin()
}
注意:
通过<JavaScriptCore/JavaScriptCore.h>库来进行交互时,在网页重定向之后,需要重新获取JSContext,并设置交互方法