1. 程式人生 > >HTML和iOS的互動,點選html中按鈕,ios進行原生方法呼叫,及ios傳值到HTML

HTML和iOS的互動,點選html中按鈕,ios進行原生方法呼叫,及ios傳值到HTML

HTML和iOS的互動

一、 點選HTML中的按鈕,iOS獲取到HTML的傳值,並進行原生態的操作

  1. 匯入系統庫JavaScriptCore
#import <JavaScriptCore/JavaScriptCore.h>
  1. 在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){ }`