天天看点

IOS Object和javaScript相互调用

在ios开发中有时会用到object和javascript相互调用,具体步骤如下:

1. object中执行javascript代码,这个比较简单,苹果提供了很好的方法

- (nsstring *)stringbyevaluatingjavascriptfromstring:(nsstring *)script

2. javascript执行过程中返回给object的数据或者调用object方法,这个时候就需要用到

uiwebview的地址重定向功能,主要代码如下:

(1)创建uiwebview

(2)实现uiwebview方法

说明如下:

(1)在uiwebview加载完网页的时候,即执行到webviewdidfinishload代理的时候,执行一段javascript代码,这段代码的作用是获取网页中的视频地址,代码中“ document.location = ‘myvideo‘+ video.getattribute(‘src‘); ”这段特别重要,document.location是为了做地址重定向用的,执行完这段javascript代码,接着就会执行

- (bool)webview:(uiwebview *)webview shouldstartloadwithrequest:(nsurlrequest *)request navigationtype:(uiwebviewnavigationtype)navigationtype 这个代理方法,其中就会捕获到document.location给出的地址即‘myvideo‘+

video.getattribute(‘src‘); 。你可以去掉‘myvideo‘头,就可以得到你需要的东西了,其中‘myvideo‘是你自己定义的一个头,是为了便于解析后面的数据。

继续阅读