【實用隨記】ios跟Android呼叫前端頁面的介面js
阿新 • • 發佈:2019-02-11
因為iosApp androidApp,webApp 都要呼叫這一頁面,所以寫了三套條件判斷,flag是IOSapp給我傳的引數,用來判斷。
//var cityUrl = window.location.href //currentCity(); //webApp(); //獲取iosAPP傳來的定位城市名稱 ////問題?如果webAppd做了定位,是不是就不用與iosApp互動傳參了? function currentCity(cityName){ $('.city-now').attr('data-city',cityName).html(cityName); } //判斷裝置 var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { //移動終端瀏覽器版本資訊 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或uc瀏覽器 }; }(), } var ifIos = browser.versions.ios; var ifAndroid = browser.versions.android; var flag;//獲取 function webApp (flag1) { //alert(flag1); flag = flag1; } //手動選擇城市 $('.city-cell,.city-card').click(function() { //alert($(this).attr('data-city')); //alert(flag); var param = $(this).attr('data-city'); var cityName = $(this).attr('data-city'); var strParam = param +''; if(flag==1){ sendCommand(); function sendCommand(setCityName,param){ var url="protocol://"+strParam; var url1= encodeURI(url); document.location = url1; //alert(strParam); } }else if(ifAndroid){ androidGetInfo(); function androidGetInfo(){ window.jsbridge.setCityName(param);//呼叫android中的setCityName方法。 } }else if(flag!=1 || !ifIos){//iosWebApp alert(param); } });