h5跳转杉德没有返回键怎么办

h5跳转杉德没有返回键怎么办,第1张

小程序内放置一个web-view组件来链接HTML页面了,自定义状态栏,然后状态栏上加一个返回图标,点击小程序返回图标能调回h5。没有返回按钮,说明你的小程序的路由栈中只有这个Webview页面,所以没有返回按钮。

H5打成APP后发现一个问题:按返回键直接退出。为了解决以上问题,在index.html中加入如下js脚本,监听手机返回按键:根据url判断是否是首页(注意不能根据history或者canBack进行判断,会有bug),如果是则d框提示退出,否则返回上一页。

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

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11880290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存