OC與H5交互
1. 基本使用- OC調JS
- (void)webViewDidFinishLoad:(UIWebView *)webView{
//js方法名+參數 NSString* jsCode = [NSString stringWithFormat:@"report('%@')",self.jsStr];
//調用html頁面的js方法
[webView stringByEvaluatingJavaScriptFromString:jsCode]; }
- JS調OC
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
// 攔截url,進行處理
return YES;
}
2.使用JavaScriptCore框架(ios7以后)
JavaScriptCore中類及協議
- JSContext:JavaScript 運行的上下文環境
- JSValue:JavaScript 和 Objective-C 數據和方法的橋梁
- JSExport:這是一個協議,如果采用協議的方法交互,自己定義的協議必須遵守此協議
- JSManagedValue:管理數據和方法的類
- JSVirtualMachine:處理線程相關,使用較少JavaScript 調用 Native使用 JavaScriptCore 進行 JS 和 Native 的交互,無論想要實現什么樣的效果都需要獲得一個有效的 JSContext 實例,即一個有效的 JS 運行的上下文。