UIWebview中 js 的執行結果返回給OC ,js 回傳OC

在UIWebview中,有這個方法

stringByEvaluatingJavaScriptFromString

可以將JS 傳進web裏面,實現js 想要的東西。


但一直以來,只知道進去,卻不知道如何將值傳出來,看了stringByEvaluatingJavaScriptFromString 他的頭文件後,發現他是會返回nsstring的,於是着手測試他會返回哪些東西。

如以下測試程序,網頁會先彈出一個選擇框,如果你選了cancle ,他會輸出101,如果選了確認,則會輸出90,如此,大概可以知道它會返回執行的最後一行 非命令 的字符串了。

   str = [webView stringByEvaluatingJavaScriptFromString:@"var a = confirm(\"我也愛看!\");if(a)alert(\"asd\");if(a) { 90}else{101}"];

    NSLog(@"b%@",str);


另外,在網上看到其它做法,實現 js  中調用 oc 的方法,當然這是一種取巧的虛的方法,原理是當按下網頁的連接時都會觸發這個代理 shouldStartLoadWithRequest然後通過判斷URL字符串的內容來調用對應的oc方法。具體見此鏈接:http://code4app.com/snippets/one/UIWebView%E4%B8%ADHtml%E4%B8%AD%E7%94%A8JS%E8%B0%83%E7%94%A8OC%E6%96%B9%E6%B3%95%E5%8F%8AOC%E6%89%A7%E8%A1%8CJS%E4%BB%A3%E7%A0%81/546d7ba6933bf03d0a8b4ccd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章