之前都是做的H5運動頁面,沒有和原生app對接,近來剛做了個夾雜開闢的小項目,就原生APP和H5相互挪用做一下總結
1:原生挪用JS要領,起首前端須要在JS頁面中定義一個全局的要領,這個要領要暴露在window對象下面,比方我定義一個getUserInfo要領
window["getUserInfo"] = () => {
//營業邏輯
};
然後app在載入H5頁面就能夠拿到這個要領了
2:JS挪用安卓的要領,安卓會暴露一個全局對象android,這個對象里定義了js須要挪用的要領,比方getDevId,然後js里代碼如許寫就能夠挪用到了
android.getDevId(param);
//不過這個param不能是對象和null,不然安卓拿不到數據
3:JS挪用iOS的要領,iOS運用的是wkwebview,然後js挪用代碼以下
window.webkit.messageHandlers.getUserInfo.postMessage(param);
//這個getUserInfo就是iOS端暴露出來的要領名
//假如不須要傳param,那就傳null,萬萬不能不穿,不然收不到值
window.webkit.messageHandlers.getUserInfo.postMessage(null);
//iOS挪用js和上面安卓要領一樣