h5混合開發 與app 交互方法

安卓

安卓相對簡單 因爲 安卓可以獲取到我們h5頁面內的window對象

所以  

// h5 調用安卓方法
window.discovery.gotoLogin();  // window.x.y  (x類名,y方法名)
// 安卓調用h5方法
h5 只需要在  js中聲明 方法即可 安卓即可調用
function login(){}  

ios

ios 我這裏分爲2版本

// h5調用 ios

// uiwebview 利用 iframe 方式
function loadURL(url) {
        var iFrame;
        iFrame = document.createElement("iframe");
        iFrame.setAttribute("src", url);
        iFrame.setAttribute("style", "display:none;");
        iFrame.setAttribute("height", "0px");
        iFrame.setAttribute("width", "0px");
        iFrame.setAttribute("frameborder", "0");
        document.body.appendChild(iFrame);
        // 發起請求後這個iFrame就沒用了,所以把它從dom上移除掉
        iFrame.parentNode.removeChild(iFrame);
        iFrame = null;
}
然後  js  調用 loadURL("login:gotoLogin")  IOS 攔截後 進行字符串解析

// wkwebview   利用postmessage
window.webkit.messageHandlers.xxxx.postMessage({type:"pushback"});

// ios 調用h5 依然是在window下 創建一個方法  ios 即可獲取調用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章