1. 程式人生 > >h5和原生的互動

h5和原生的互動

<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("網路異常請重新嘗試!");
            };
        }