欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

phonegap-ios开发–OC调用JS传递参数并获得返回值

ios 夜阑小雨 3330℃ 0评论

最近再开发phonegap的支付宝插件,遇到很多问题。对于不同oc的人来说简直是噩梦!

在不断的模式和尝试下,终于有了突破性的的进展。

这里就用到了一个方法,需要将支付宝支付完成后的结果反馈给html页面。

虽然用了插件机制,单返回结果依然不能用返回机制来传值,所以这里用到了stringByEvaluatingJavaScriptFromString。

下面是OC调用JS功能的一个简单的例子。

再你的html页面下一个方法

 

<script type=“text/javaScript>
function postStr(str1,str2){
document.getElementById(“text1”).value=str1;
document.getElementById(“text2”).value=str2;
return document.getElementById(“text3”).value;
//return “javaScript返回值啦”;
}
</script>

 

这里的postStr 是oc中用到的js方法,将通过oc吧值传给该方法。

再项目的主文件里面定义一个这样的方法,

/*
* 点击事件
* 调用javaScript的方法postStr(str1,str2)并取得返回值
* 输出返回值到控制台
*/
-(IBAction)IOS_JS:(id)sender
{
//NSString *str = [self.webview stringByEvaluatingJavaScriptFromString:@”postStr();”];
//要传递的参数一
NSString *str1 = @”我来自于oc”;
//要传递的参数二
NSString *str2 = @”我来自于地球”;
NSString *str = [self.webview stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@”postStr(‘%@’,’%@’);”,str1,str2]];
NSLog(@”JS返回值:%@”,str);
}

关键点再这里

self.webview 这个需要换成 phonegap支持的 self.viewController.webView,具体参考项目代码!

转载请注明:夜阑小雨 » phonegap-ios开发–OC调用JS传递参数并获得返回值

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址