应用Hello MUI中预加载一个模板父页面和共用子页面实现无等待窗体切换遇到的问题

应用Hello MUI中预加载一个模板父页面和共用子页面的方案(http://ask.dcloud.net.cn/article/106),实现无等待窗体切换功能。遇到两个问题求助各路英雄好汉!

1.多级子页面公用一个WebView时,如何逐级返回

在A页面选择列表中的一项,打开公用的WebView,通过loadurl的方式加载B页面,在B页面点击按钮后再通过这个公用WebView加载C页面,那么问题来了,在C页面点击返回,直接隐藏了公用的WebView,显示了列表A页面,这里如何实现逐级返回呢,我试了下借助WebViewObject的back,但是不太完美,看看大伙儿的方案或者官方大大的方案。

2.如1中场景,A页面中定义了连续两次返回即退出的功能,但是,在B页面或者C页面,点击Android手机的返回键,居然调用了A页面的mui.bak=function(){...},提示再点一次退出应用程序,正常情况下在B或者C页面应该是执行公用WebView模板父页面中定义的返回...找了很久没找到原因。



2015-05-18 17:45 添加评论 分享
已邀请:
1

太阳神

赞同来自: my87@163.com

核心问题是头部点击返回动作和手机back健的返回动作不一致,怎么会这样的啊


0

Danny - QQ125904483

赞同来自:

上代码,求解放


0

Danny - QQ125904483

赞同来自:

大哥们,快出来呀


0

Danny - QQ125904483

赞同来自:

为啥Android物理按键执行的不是当前显示的WebView的事件呢?这是为啥?


0

DCloud_MUI_CHB

赞同来自:

首先,模板方案有其适用场景:同级页面,不存在返回需求的情况;

例如:从A页面既可以打开B页面、又可以打开C页面,则B、C可共用模板页面;

但你的场景下,A->B->C,此种情况下,不建议适用模板方案;因为该模式下,返回效果并不理想,即使适用webview.back,也会有白屏出现;

back按键的问题,应该是5+ runtime的bug,该team正在确认;


0

DCloud_Android_磊子

赞同来自:

此问题确认为bug,静待更新。


0

太阳神

赞同来自:

更新了吗?我升级过后还会出现这种情况啊。
a->b->c
按c的页面头部的返回没问题,但是按android的返回健就出现把b给关了


0

太阳神

赞同来自:

B是直接open出来的,不是在a预加载的


0

太阳神

赞同来自:

求解决啊,不然就要停工了,预加载的话就没问题,但不可能所有很少用到的页面都要预加载吧


0

太阳神

赞同来自:

@DCloud_Android_磊子:
@DCloud_MUI_CHB:

预加载的webview --------点开(使用openWindow)----> 非预加载的webview -------点开------>预加载的webview,然后android实体按键返回就会出问题

必定会出问题,我试过好几部不同品牌不同型号不同android版本的手机,都有这个情况


0

太阳神

赞同来自:

绝对不是我代码的问题,因为页面头部的返回是正常的


0

DCloud_Android_磊子

赞同来自:

mui.openWindow会重新创建窗口的,返回键处理逻辑是最近执行plus.key.addEventListener执行。不知道你注意这地方没有。


要回复问题请先登录注册

退出全屏模式 全屏模式 回复