js調(diào)用APP的方法
舉個簡單的例子虽缕,有個需求是要和APP交互的始藕,h5頁面里面有個分享按鈕,點擊之后需要調(diào)用APP原生的分享功能
app那邊寫好了一個方法是onShare( )
第一步:就是點擊分享好友觸發(fā)
<div @click="onShare">分享好友</div>
第二步:定義onShare方法調(diào)用APP方法
onShare () {
if(this.isAndroid_ios()) {
console.log('安卓')
window.AndroidFunction.onShare('1');// AndroidFunction為安卓端封裝的方法
}else {
console.log('ios')
window.webkit.messageHandlers.onShare.postMessage('1'); //ios
}
},
isAndroid_ios() {
let u = navigator.userAgent;
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //安卓
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
if(isAndroid){
return true;
} else if(isIOS) {
return false;
}
}
isAndroid_ios()這個函數(shù)是判斷是否是安卓或者是ios
因為安卓和ios的調(diào)用方法不同
以onShare()方法為例:
安卓:window.AndroidFunction.onShare('1'); // android
IOS:window.webkit.messageHandlers.onShare.postMessage(’1‘); //ios
里面可以傳參給APP 的
APP調(diào)用js的方法
這個h5這邊很簡單伍派,只需要把方法掛載到window上江耀,APP就能調(diào)用
具體為
window.customizeFn = function(data) {
console.log('app端返回的參數(shù):', data); // APP調(diào)用js方法后,傳過來的值
}
// customizeFn為自定義參數(shù)名