iOS中HTML與OC的互動實現
阿新 • • 發佈:2018-11-13
近日,由於開發需求,涉及到書寫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滬上程式碼小子書