HTML和iOS的互動,點選html中按鈕,ios進行原生方法呼叫,及ios傳值到HTML
阿新 • • 發佈:2019-01-24
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){
}`