ios与js交互

1.首先创建一个简单的html




    
    

    







2.在原生代码上,与js交互需要引用JavaScriptCore.h,

#import "JavaScriptCore/JavaScriptCore.h"

3.h5调用iOS方法并传值

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    //首先创建JSContext 对象
    JSContext *context=[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
    //定义好JS要调用的方法, onClickOC就是调用h5的onClickOC方法名,string是js传过来的参数
    //h5上的方法调用iOS方法并向ios传值
    context[@"onClickOC"] = ^(NSString *string){
        NSLog(@"onClickOC==%@",string);
    };
}

4.oc调用h5方法并传值

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //首先创建JSContext 对象
    JSContext *context=[self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];\
    //准备执行的js代码 iOS调h5 是传给js的参数,(字符串是单引号)
    NSString *alertJS=@"showAlert('iOS调h5')";
    //通过oc方法调用js的alert
    [context evaluateScript:alertJS];
}

 

你可能感兴趣的:(iOS,JavaScript)