在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‘是你自己定義的一個頭,是為了便于解析後面的資料。