H5頁面js和ios 安卓 互相調用

以前都是作的H5活動頁面,沒有和原生app對接,最近剛作了個混合開發的小項目,就原生APP和H5互相調用作一下總結前端

1:原生調用JS方法,首先前端須要在JS頁面中定義一個全局的方法,這個方法要暴露在window對象下面,好比我定義一個getUserInfo方法android

window["getUserInfo"] = () => {
                    //業務邏輯
                };

而後app在載入H5頁面就能夠拿到這個方法了web

2:JS調用安卓的方法,安卓會暴露一個全局對象android,這個對象裏定義了js須要調用的方法,好比getDevId,而後js裏代碼這樣寫就能夠調用到了app

android.getDevId(param);
//不過這個param不能是對象和null,否則安卓拿不到數據

3:JS調用iOS的方法,iOS使用的是wkwebview,而後js調用代碼以下post

window.webkit.messageHandlers.getUserInfo.postMessage(param);
//這個getUserInfo就是iOS端暴露出來的方法名

//若是不須要傳param,那就傳null,千萬不能不穿,否則收不到值
window.webkit.messageHandlers.getUserInfo.postMessage(null);

//iOS調用js和上面安卓方法同樣
相關文章
相關標籤/搜索