APP中H5页面返回

Posted FEHammer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP中H5页面返回相关的知识,希望对你有一定的参考价值。

内嵌到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);
    }
}

 

以上是关于APP中H5页面返回的主要内容,如果未能解决你的问题,请参考以下文章

iOS监听H5页面goBack返回事件 & 网页监听APP返回键 (NavigationBackItemInjection)

Hybrid App交互方案-原生和H5间的界面跳转(二)

前端开发怎么设置关闭当前页面删除h5缓存记录

第三方网站返回hybrid app H5页面缓存问题应对策略

H5移动端,ios从后台返回到app,页面会白一下

h5写的原生app调出输入法页面宽度变小