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截獲到了"); }