当前时间:Friday 2016年12月09日 欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

当前位置: 首页 >> ios,phonegap开发 >> 正文

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

最近再开发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传递参数并获得返回值
夜阑小雨版权所有,转载本网站文章时请保留此信息。

收藏和分享: 转贴到开心网 转贴到校内网 分享到 Twitter Delicious 分享到 Google Reader 分享到 百度收藏 分享到 QQ收藏

所在分类:ios phonegap开发

评论信息

0 条评论 发表评论

发布评论

您必须登录才能发表评论。

网站客户端下载