OC与H5交互

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 运行的上下文。

3.使用第三方库WebViewJavascriptBridge

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容