在上一篇博客(详解JS与APP原生控件交互)中已经和大家聊了,关于JS与Android、Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android、Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时,提高代码质量,实现两者在网页端代码的统一。

首先我们先看一下Ios调用JS的方法实现:
//无参调用
function SwiftCallJs1(){}
//有参调用
function SwiftCallJs2(name, message){}
紧接着我们看一下Android调用JS的方法实现:
//无参调用
function AndroidCallJs1(){}
//有参调用
function AndroidCallJs2(data){}
从上面的代码中你是否发现,Android与Ios调用JS时,JS处理函数两者在无参调用时是相通的。有参调用不同点是Ios是一对一直接传递,Android则是字符串传递,当然我们可以通过在Android和Ios端统一传参使用JSON格式,JS支持JSON解析,从而实现两个平台在有参方法调用上的统一。
看完上面的Ios与Android调用JS,下面我们看一下JS调用Android与Ios原生通信的异同点。
首先我们看一下JS调用Android的方法实现:
//无参调用
function callNull(){
android.CallNull();
}
//有参调用
function callMessage(){
android.CallMessage("msg");
}
//有参调用--json
function callJson(){
var json = "[{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}]";
android.CallJson(json);
}
接下来我们看一下JS调用Ios的方法实现:
//一:无前缀调用
//无参调用
function test1(){
Test1();
}
//有参调用
function test2(){
Test2("满艺网","www.manyiaby.com");
}
//二:有前缀调用
//无参调用--带返回操作结果处理
function callSystem(){
Ios.CallSystem();
}
//操作结果处理函数
function JSCallNullIosResult(){}
//有参调用
function callWithMsg(){
Ios.CallWithMsg("满艺网","www.manyiaby.com");
}
//有参调用--json
function callWithJson(){
var json = "{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}";
Ios.CallWithJson(json);
}
//有参调用--带返回结果处理
function callWithJsonResult(){
var json = "{\"name\":\"满艺网\",\"url\":\"www.manyiaby.com\"}";
Ios.CallWithJsonResult(json);
}
function JSCallJsonIosResult(data){
alert("name:"+data["name"]);
}
看到这里你一定发现了不同点,1、Android没有不带前缀的方法调用,2、Android没有方法调用后的操作结果返回处理逻辑。对于第一点,就目前我所认识到的是原生没有通过具体的实现逻辑,不过这个点不影响我们的开发,因为Ios是支持前缀方法调用的。对于第二点,我的理解是对于返回处理函数,我们可以在开发的添加上去,从而提高Ios用户的使用体验,并且处理函数不会影响到方法的调用。
好了到这里就和大家聊完了,当然如果所述与您的理解有偏差,还望指点一二。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# JS
# 调用
# 控件
# 三步搞定:Vue.js调用Android原生操作
# DCloud的native.js调用系统分享实例Android版代码
# Android中实现WebView和JavaScript的互相调用详解
# Android WebView的使用方法及与JS 相互调用
# Android编程使用WebView实现与Javascript交互的方法【相互调用参数、传值】
# Android总结之WebView与Javascript交互(互相调用)
# Android与JS之间跨平台异步调用实例详解
# Android webview和js互相调用实现方法
# Android WebView使用方法详解 附js交互调用方法
# Android与JS相互调用的方法
# 看一下
# 我们可以
# 的是
# 您的
# 好了
# 则是
# 看完
# 我所
# 认识到
# 影响到
# 你一定
# 我们一起
# 不带
# 在上
# 所述
# 聊了
# 先看
# 还望
# 中你
# 第二点
相关文章:
c# 服务器GC和工作站GC的区别和设置
宝塔面板创建网站无法访问?如何快速排查修复?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何在Windows环境下新建FTP站点并设置权限?
制作网站的基本流程,设计网站的软件是什么?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
微信小程序 五星评分(包括半颗星评分)实例代码
建站主机助手选型指南:2025年热门推荐与高效部署技巧
香港服务器选型指南:免备案配置与高效建站方案解析
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何通过VPS搭建网站快速盈利?
宝塔建站无法访问?如何排查配置与端口问题?
购物网站制作公司有哪些,哪个购物网站比较好?
如何在Golang中使用replace替换模块_指定本地或远程路径
制作宣传网站的软件,小红书可以宣传网站吗?
如何选择香港主机高效搭建外贸独立站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
如何在云主机上快速搭建多站点网站?
已有域名如何免费搭建网站?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
制作网站外包平台,自动化接单网站有哪些?
宝塔新建站点报错如何解决?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何快速搭建响应式可视化网站?
在线制作视频的网站有哪些,电脑如何制作视频短片?
建站之星如何实现网站加密操作?
如何快速搭建安全的FTP站点?
如何构建满足综合性能需求的优质建站方案?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在云指建站中生成FTP站点?
如何基于PHP生成高效IDC网络公司建站源码?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
开封网站制作公司,网络用语开封是什么意思?
如何用VPS主机快速搭建个人网站?
建站之星微信建站一键生成小程序+多端营销系统
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何在万网ECS上快速搭建专属网站?
,南京靠谱的征婚网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
建站VPS能否同时实现高效与安全翻墙?
如何快速使用云服务器搭建个人网站?
怎么将XML数据可视化 D3.js加载XML
无锡营销型网站制作公司,无锡网选车牌流程?
如何在Windows服务器上快速搭建网站?
如何在宝塔面板中创建新站点?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
电商网站制作公司有哪些,1688网是什么意思?
建站之星北京办公室:智能建站系统与小程序生成方案解析
*请认真填写需求信息,我们会在24小时内与您取得联系。