您的位置:首页 > 移动开发

UIWebview中 js 的执行结果返回给OC ,js 回传OC

2015-02-03 16:52 176 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: