在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