<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover">
</head>
<body>
<div class="demo">
<div>Hello World!</div>
<div>数据显示:<span id="enter"></span><span id="data"></span> </div>
<div>
<span id="yes"></span>
</div>
</div>
<script type="text/javascript">
var jsBridge = (function(){
/**
* 判断用户手机系统
*/
var isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Linux') > -1;
var isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
var checkPlatform = { isAndroid:isAndroid, isIOS:isIOS };
console.log("checkPlatform:",checkPlatform)
var common = function(){};
common.prototype = {
getToken:function(arg1){
var enter = document.getElementById("enter");
enter.innerHTML = "Enter~~"
var data = document.getElementById("data");
return new Promise( (resolve,reject)=>{
if(checkPlatform.isIOS){ //IOS系统
// _method方法,_callback回调函数名称(绑定在window对象下,IOS调用回调函数才成功)
window.IOSCALLBACK = function(res){
data.innerHTML = '我是回调的传的值:'+res;
resolve(res);
window.IOSCALLBACK = null;
return true;
}
window.webkit.messageHandlers.user.postMessage({"_method":"token","_callback":"IOSCALLBACK"});
}else if(checkPlatform.isAndroid){ //Android系统
console.log('Android')
var res = device.token(); //device: 自定义的Android对象名
resolve('我是Android传的值:',res);
data.innerHTML = '我是Android传的值:'+res;
}else{
reject('error');
}
} )
}
}
return new common();
})();
jsBridge.getToken().then(res=>{
console.log("RES:",res);
var yes = document.getElementById("yes");
yes.innerHTML = "哈哈,回调函数调用成功了:"+res;
});
</script>
</body>
</html>
js与Native App 交互(iOS/Android)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 首先我们先来看下iOS的代码 我们再来看下Android如何实现的,如图 ReactContextBaseJava...
- 目录 《App与Js交互(一)iOS》 《App与Js交互(二)Android》 《App与Js交互(三)Andr...
- 前戏 自己从事iOS开发多年,单在电商领域,从GMall全球购再到河狸家app,已经开发了多款电商app,也想将自...
- 前言 在 iOS 开发中,JS 与 Native 的交互分为两种,第一种是 Native 调 JS,即通过在 Na...