天天看點

H5頁面和移動端對接資料

 1、H5頁面和移動端對接資料具體如下:

var params = {
  p:this.list_data.pager.page,
  pageSize:this.list_data.pager.pageSize
};//參數
var paramsStr = JSON.stringify(params);
var isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);//判斷是否為IOS
var isAndroid = /Android/i.test(navigator.userAgent);//判斷是否為android
if(isIOS){
  window.webkit.messageHandlers['getHeader'].postMessage(paramsStr); //ios調用
//getHeader是和ios端共同定義好的ios端的方法名,提供給前端調用,可以給ios端傳參
}else if(isAndroid){
  var getStr = android.getHeader(paramsStr); //Android調用
//android.getHeader為和android共同定義的Android的方法,提供給前端調用并傳參,getStr是android端傳回的參數,Android端有回調,可以在回調裡傳參數,ios端沒有回調,無法在回調裡回傳參數,需要在前端定義好方法等待ios端調用
  localStorage.setItem('headerObj',getStr);
  this.getList();
}

mounted(){
  window.getThisHeader = this.getThisHeader;
//要這樣處理ios調用js的方法才能成功
 },

getThisHeader(data){
  var headerObj = JSON.stringify(data);
  localStorage.setItem('headerObj',headerObj);
  this.getList();
},
//h5端定義getThisHeader(data)方法等ios端調用,data為ios端傳回的參數
           

2、H5頁面在IOS相容問題記錄

在ios中,不支援"2017-12-26 19:36:00"格式,會顯示NaN (Android中都可以顯示正常),解決方案:ios支援"2017/12/26 19:36:00",是以用以下方式轉:

var time = "2017-12-26 19:36:00";

time = time.replace(/\-/g, "/");//将時間格式的'-'轉成'/'形式,相容iOS

繼續閱讀