JSoon
JSoon
  • 发布:2014-11-18 15:12
  • 更新:2014-11-18 15:51
  • 阅读:3965

首页作为入口,加载了子页面,在子页面点返回,竟然返回到了首页,求解

分类:HTML5+

情况是这样的,以下是我的页面(简略形式):

index.html  
——————————  
<html>  
<script>  
mui.init({ subpages: [{}] }); // 创建了一个 webview 视窗,命名为 main.html  
plus.key.addEventListener('backbutton', function() {}); // 绑定了返回键退出 app 事件  
</script>  
</html>
main.html  
——————————  
<html>  
<header>main header</header>  
<script>  
mui.init({ subpages: [{}] }); // 创建了一个 webview 视窗,命名为 content.html  
</script>  
</html>
content.html  
——————————  
<html>  
<div>main content</div>  
</html>

如此,当 app 启动之后,页面应当显示如下结构:
——————————
main header
main content
——————————
预期:点击返回按钮,退出 app
真实结果:点击返回按钮,回到了空白的 index.html,这之后再点击返回按钮,退出 app

在我今天更新了 HBuilder 之前,都还能产生我预期的结果,请问这是怎么回事呢?

2014-11-18 15:12 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

首先,我觉得你的子页面嵌套有点多了,3个webview,明显浪费资源,两个完全搞的定。
至于返回按钮的问题,需要你原始代码才能分析,比如返回按钮在哪个webview上;

  • JSoon (作者)

    我给你发了私信,里边有项目地址,请收一下

    2014-11-18 15:48

DCloud_UNI_CHB

DCloud_UNI_CHB

你在list-item-main.html中重写一下mui.back,例如:
···
mui.back = function(){
//确认退出应用等逻辑
}
···

  • JSoon (作者)

    我把退出逻辑加在了最后一个子页面上,即 list-content.html 上,重写了 back 方法,这样是可行的。所以问题就来了,修改之前,为什么今天更新版本后,点返回按钮,会退回到 index.html 这个空白的页面上呢?是你们有修改吗?就是这一点想不明白了。

    2014-11-18 16:00

  • DCloud_UNI_CHB

    如果你的代码从未改变,理论上来说,应该是所有HBuilder版本都存在问题的。具体原因你可以分析一下mui.registerBack源码;

    2014-11-18 16:04

  • JSoon (作者)

    好的,谢谢了

    2014-11-18 16:42

该问题目前已经被锁定, 无法添加新回复