一、webView调用js代码并向JS内传值
方法一 webView 执行js 函数
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[webView stringByEvaluatingJavaScriptFromString:@"ocCallJSFunction({'name':'vix'})"];
}
#test.js
function ocCallJSFunction(data) {
var obj = eval(data);
alert(obj.name);
}
方法二 获取js上下文 执行js函数
- (void)webViewDidFinishLoad:(UIWebView *)webView{
JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
[context evaluateScript:@"ocCallJSFunction({'name':'vix'})"];
}
#test.js
function ocCallJSFunction(data) {
var obj = eval(data);
alert(obj.name);
}
方式三 JS调用原生OC的方法,并传值
首先xxx.h设置JSExport协议
@protocol JSObjDeleg