摘要:之前都是做的活動頁面,沒有和原生對接,最近剛做了個混合開發(fā)的小項目,就原生和互相調(diào)用做一下總結(jié)原生調(diào)用方法,首先前端需要在頁面中定義一個全局的方法,這個方法要暴露在對象下面,比如我定義一個方法業(yè)務(wù)邏輯然后在載入頁面就可以拿到這個方法了調(diào)用安
之前都是做的H5活動頁面,沒有和原生app對接,最近剛做了個混合開發(fā)的小項目,就原生APP和H5互相調(diào)用做一下總結(jié)
1:原生調(diào)用JS方法,首先前端需要在JS頁面中定義一個全局的方法,這個方法要暴露在window對象下面,比如我定義一個getUserInfo方法
window["getUserInfo"] = () => { //業(yè)務(wù)邏輯 };
然后app在載入H5頁面就可以拿到這個方法了
2:JS調(diào)用安卓的方法,安卓會暴露一個全局對象android,這個對象里定義了js需要調(diào)用的方法,比如getDevId,然后js里代碼這樣寫就可以調(diào)用到了
android.getDevId(param); //不過這個param不能是對象和null,不然安卓拿不到數(shù)據(jù)
3:JS調(diào)用iOS的方法,iOS使用的是wkwebview,然后js調(diào)用代碼如下
window.webkit.messageHandlers.getUserInfo.postMessage(param); //這個getUserInfo就是iOS端暴露出來的方法名 //如果不需要傳param,那就傳null,千萬不能不穿,不然收不到值 window.webkit.messageHandlers.getUserInfo.postMessage(null); //iOS調(diào)用js和上面安卓方法一樣
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/95738.html
摘要:一旦使用了那么就少不了和原生開發(fā)的一些交互如下的方案能夠幫助你解決。其實現(xiàn)原理是原生在的對象中注入一個方法,以備原生應(yīng)用進行處罰觸發(fā),就和我們平時去調(diào)用的方法一樣簡單。代碼常用調(diào)用原生的方式都在這里體現(xiàn)。 showImg(https://segmentfault.com/img/remote/1460000016955237); 場景1 在原生app中經(jīng)常會使用到H5頁面,比如說電商中...
摘要:如果我們想要在一個頁面自動播放背景音樂或是其他音頻,比如是沒辦法調(diào)用事件直接調(diào)用,非得添加手動點擊事件才可以。接下來就說說我在項目里遇到的困難和解決辦法情況我們知道安卓是可以直接調(diào)用音頻的事件的,不行。 如果我們想要在一個頁面自動播放背景音樂或是其他音頻,比如ios是沒辦法調(diào)用audio.play()事件直接調(diào)用,非得添加手動點擊事件才可以。接下來就說說我在項目里遇到的困難和解決辦法....
閱讀 775·2023-04-25 16:55
閱讀 2806·2021-10-11 10:59
閱讀 2070·2021-09-09 11:38
閱讀 1782·2021-09-03 10:40
閱讀 1485·2019-08-30 15:52
閱讀 1125·2019-08-30 15:52
閱讀 954·2019-08-29 15:33
閱讀 3494·2019-08-29 11:26