hybrid
Posted uimeigui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hybrid相关的知识,希望对你有一定的参考价值。
hybrid本质:
在原生app中,使用webview作为容器,承载一个web页面。
jsbridge:
一座用javascript链接的桥,链接native和web,使native中的代码可以访问web中的javascript代码,使web可以访问native中的原生代码。
http-server、anywhere:
提供访问地址给android Studio
web调用android原生代码:
window.AndroidJSBridge.function() ---括号可直接传参
web调用ios原生代码:
window.webkit.messageHandles.function --不能直接传参
window.webkit.messageHandles.function.postMessage() --通过postMessage(),括号传参
let obj={ msg:‘window调用ios方法‘}; window.webkit.messageHandles.function.postMessage(obj);
//ios回调web方法
window.onFunctionIOS=function(str){
alert(str);
return "ios回调web方法"
}
android与android通讯对比
1、调用方法不同
web调用android可以改变window.AndroidJSBridge 中的AndroidJSBridge,ios只能使用window.webkit.
2、传入参数的方法不同
web调用android可以直接在window.AndroidJSBridge.function()括号中传入参数,ios只能通过window.webkit.messageHandles.function.postMessage()中的postMessage()传入参数.
3、传入参数的类型不同
web调用android只能传入基本数据类型,不能传入引用数据类型,object只能使用JSON.stringify转为字符串后传入,而web调用iso可以传入引用数据类型.
4、接受windos回调不同
android可以直接接受web传入的回调,ios不能直接接受.
以上是关于hybrid的主要内容,如果未能解决你的问题,请参考以下文章