1. 程式人生 > >h5頁面與原生的互動

h5頁面與原生的互動

getModel: function() {
		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';
		}
	},

	transmit:function(methodName, callback, APPParams) {
		var that =this;
		callback = (callback == "" || callback == undefined) ? "" : callback;
		if(methodName !== '' && methodName !== undefined) {
			var jsonData = new Object();
			jsonData.MethodName = methodName; //呼叫方法名稱
			jsonData.callback = callback;
			jsonData.APPParams = APPParams;
			console.log(jsonData);

			jsonData = JSON.stringify(jsonData).replace(/\\n/g, '<br/>');
			jsonData = JSON.parse(jsonData);
			if (that.getModel() == 'iPhone') {
                console.log(jsonData.callback);
                try {
                    CZYClient(JSON.stringify(jsonData)); //iOS呼叫方法
                } catch (error) {
                    console.log(error);
                    alert("網路異常請重新嘗試!110", "error");
                }
            } else if (that.getModel() == 'Android') {
                try {
                    window.android.CZYClient(JSON.stringify(jsonData)); //安卓呼叫方法
                } catch (error) {
                    alert("網路異常請重新嘗試!111", "error");
                }
            }
		} else {
			alert("網路異常請重新嘗試!");
		};
	},
that.$clickVideo.on('click', function() {
	var data_url = $(this).parent().attr("data-url");
	let obj = {
              url: data_url
          }
	that.transmit('openVideo', obj, '');
});