1. 程式人生 > >iOS中HTML與OC的互動實現

iOS中HTML與OC的互動實現

   近日,由於開發需求,涉及到書寫HTML與OC互動的問題。特此做了一番研究,學習到了一點,所以,也就當是做個簡單的筆記。希望可以對有需求的人有幫助,就像我自己學習的時候,總是要到處翻書,到處搜尋。把這些問題解決掉。

    以下為正文內容:

    1、HTML與OC互動的關鍵,在於HTML檔案中存在可以響應的點選事件:

          如:

<input type="button" class="main__button" value="立即搶購"  onclick="dealProduct('立即購買')">

          onclick是HTML中的點選事件,dealProduct是處理方法,實際上的互動數值,便是呼叫事件中處理方法返回的數值

    2、iOS應用中處理HTML中的事件,需要引入#import <JavaScriptCore/JavaScriptCore.h> (JavaScriptCore.framework)   這個framework是用來讀取HTML中的事件方法的。我用的是UIWebView載入的本地網頁檢視,在WebViewDidFinishLoad方法中進行互動操作。關鍵程式碼如下:     

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
    
    self.jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
        context.exception = exceptionValue;
        NSLog(@"異常資訊:%@", exceptionValue);
    };
    //dealProduct HTML中對應的點選事件的方法
    self.jsContext[@"dealProduct"] = ^(NSString *title){
        NSLog(@"返回引數 %@ ",title);
    };
}
     大致的一個互動思路就是如此的!個人的簡單學習,多有不足,如果不清,可以留言或者加入iOS學習交流群:181798048進行交流。也請大神多加指教。iOS滬上程式碼小子書