HTML和iOS的交互
一、 点击HTML中的按钮,iOS获取到HTML的传值,并进行原生态的操作
- 导入系统库JavaScriptCore
#import <JavaScriptCore/JavaScriptCore.h>
- 在webViewDelegate方法中
- (void)webViewDidFinishLoad:(UIWebView *)webView{
_jsContext = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
_jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
context.exception = exceptionValue;
NSLog(@"异常信息:%@", exceptionValue);
};
_jsContext[@"方法名"] = ^(NSDictionary *param) {
"iOS的内容在里边进行处理,页面跳转等操作,通过param可以获取到点击按钮后,HTML传过来的值和其他的东西"
};
'HTML中有对应传递参数的方法,接收的内容会在param字典中,如:'
function 123{
方法名({'key1':''value1'','key2':''value2''});
}
}
二、iOS对HTML进行传值
NSString *deviceTokenJs = [NSString stringWithFormat:@"getDevice('%@','%@');",deviceToken,version];
[_webView stringByEvaluatingJavaScriptFromString:deviceTokenJs];
'HTML中要有fun方法,fun方法的方法名如例子中的getDevice'
`function getDevice(参数1,参数2){
}`