h5和原生的互動
阿新 • • 發佈:2018-12-22
<button id="subBtn"> button 按鈕與原生的互動 </button>
var btn = document.getElementById("subBtn"); var u = navigator.userAgent; btn.onclick = function() { transmit('bigPay', '', ''); } function getModel() { var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //安卓手機 document.getElementsByTagName('body')[0].className = 'Android'; return 'Android'; } else if (u.indexOf('iPhone') > -1 || (u.indexOf('iPad') > -1 && u.indexOf('Mac') > -1)) { //蘋果手機 document.getElementsByTagName('body')[0].className = 'ios'; return 'iPhone'; } else { return 'web'; } }; function transmit(methodName, callback, APPParams) { callback = (callback == "" || callback == undefined) ? "" : callback; if (methodName != '' && methodName != undefined) { var jsonData = new Object(); jsonData.MethodName = methodName; //呼叫方法名稱 jsonData.callback = callback; jsonData.APPParams = APPParams; jsonData = JSON.stringify(jsonData).replace(/\\n/g, '<br/>'); jsonData = JSON.parse(jsonData); if (getModel() == 'iPhone') { // iOS呼叫方法 console.log(jsonData.callback); try { CZYClient(JSON.stringify(jsonData)); } catch (error) { console.log(error); alert("網路異常請重新嘗試!110", "error"); } } else if (getModel() == 'Android') { // 安卓呼叫方法 try { window.android.CZYClient(JSON.stringify(jsonData)); } catch (error) { alert("網路異常請重新嘗試!111", "error"); } } } else { alert("網路異常請重新嘗試!"); }; }