APP中H5页面返回

时间:2022-11-18 19:17:51

内嵌到APP里面的H5页面,当点击APP上的返回按钮或者手机上的返回按钮时,如果H5页面不是页面的跳转,而是仅仅的Tab切换时,就会出现直接跳出页面的情况。

解决的办法:

function isVisible(obj){
    var ret = true; if(obj.style.display === "none"){ ret = false; } return ret; } function showPage(){ var p1 = $(".pagesa"); var p2 = $(".find_province_wrap"); var p3 = $(".find_city_wrap"); if(isVisible(p1[0])){ $(".pagesa").hide(); p2.show(); window.pageIndex = 'province';//设置页面index,为后面回退做标识 }else if(isVisible(p2[0])){ $(".find_province_wrap").hide(); p3.show(); window.pageIndex = 'city';//设置页面index,为后面回退做标识 }else if(isVisible(p3[0])){ $(".find_city_wrap").hide(); p1.show(); window.pageIndex = 'home';//设置页面index,为后面回退做标识 } } function getOSType() { if (/(Android)/i.test(navigator.userAgent)) { return 0; } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { return 1; } else { return 2; } } function backButtonClicked(){ var pageIndex = window.pageIndex; var goBack = true;//true代表页面不回退。false代表页面回退。 if(pageIndex === "city"){ //find_city_wrap城市页、find_province_wrap省份页、pagesa首页,页面的切换 $(".pagesa").hide(); $(".find_city_wrap").hide(); $(".find_province_wrap").show(); $(".active").removeClass("active"); window.pageIndex = 'province'; }else if (pageIndex === 'province') { $(".find_city_wrap").hide(); $(".find_province_wrap").hide(); $(".pagesa").show(); window.pageIndex = 'home'; }else{ goBack = false; } //window.event.returnValue = false; var ostype = getOSType(); if (ostype == 1) {//ios return goBack; } else{//android return window.daojia.js_back_result(goBack); } }