HTML5向IOS、Android传参:
html给native传参需要注意三点:
1.判断终端设备,一般我们都是双系统开发,android和ios语言又不一样;我们需要用不同的方法给他们传递参数;
2.注册的方法名(也就是下面代码中的“methodsName”);这个相当于一个定义好的Token;
3.定义好参数;html5只能传一个参数,如果需要多个参数就需要native用字典或者json组装;
//测试用户终端
var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if(isAndroid) {
// 给Android传递参数需要用 window.Android.注册的方法名({body:传输的数据} 来给native发送消息 window.Android.methodsName({"key":"parameter"}); } if(isiOS) {
// 给iOS传递参数需要用 window.webkit.messageHandlers.注册的方法名.postMessage({body:传输的数据} 来给native发送消息 window.webkit.messageHandlers.methodsName.postMessage({"key":"parameter"}); }
iOS、Android调用js方法:
HTML开发人员只需要把写好的代码封装到一个方法里,跟ios和android定义好方法名就好;
//showAlert 就是ios,android要调用的方法
function showAlert() { alert("被OC截获到了"); }