oc与html5的交互

1、概念

1)机制

a、Objective-C语言调用JavaScript语言,是通过UIWebView的

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

方法来实现的。该方法向UIWebView传递一段需要执行的JavaScript代码最后获取执行结果。

b、javaScript语言调用Objective-C语言,并没有现成的API,但是有些方法可以达到相应的效果。具体是利用UIWebView的特性:在UIWebView的内发起的所有网络请求,都可以通过delegate函数得到通知。后来针对这个问题有了iOS7新JavaScriptCore框架

2)Objective-C调用JavaScript代码的时候是同步的

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

3)JavaScript调用Objective-C代码的时候可以看作是异步的(js中没有多线程)

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

4)常见的JS调用

a.获取页面title

NSString *title = [webview stringByEvaluatingJavaScriptFromString:@"document.title"];

b.获取当前的URL

NSString *url = [webview stringByEvaluatingJavaScriptFromString:@"document.location.href"];

2、调用步骤:

1)定义html页面的回调方法

2)在js页面实现html页面定义的回调方法

window.location.href是页面跳转

3)实现在oc中调用js方法的接口

4)调用(调用js方法)的接口

参考链接

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

推荐阅读更多精彩内容

  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 3,109评论 1 8
  • 一、简介 近两年随着HTML5的迅速发展与日趋成熟,越来越多的移动开发者选择使用HTML5来进行混合开发,不仅节约...
    RainyGY阅读 1,892评论 1 12
  • 一、利用WebViewJavascriptBridge实现Native和Web的交互 参考链接1参考链接2 四个必...
    CoderZb阅读 2,214评论 0 5
  • 前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列...
    CoderLF阅读 9,010评论 2 12
  • 一、简介 近两年随着HTML5的迅速发展与日趋成熟,越来越多的移动开发者选择使用HTML5来进行混合开发,不...
    宝宝teacher阅读 2,341评论 3 15