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, '
'); 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, '');
});

需要原生传递数据进行页面的处理

that.$clickVideo.on('click', function() {
	that.transmit('openVideo', 'callbackName', '');
	callbackName(value) {
		console.dir(value);
	}
});

你可能感兴趣的:(js,h5与原生交互)