peak
peak
  • 发布:2015-10-29 18:02
  • 更新:2019-05-26 00:10
  • 阅读:4804

webview模式的tab选项卡,通过子页面返回主页面后,底部的导航栏点击没有反应

分类:MUI

进入子页的详情页面以后,再从子页面通过mui.openWindow("main.html");方式返回主页面,点击底部的导航栏,就经常没有反应了,页面也不切换,是那种比较卡的感觉?可能偶尔几次可以切换然后又不可以了。不知是不是返回主页面的方法不正确还是子页面没有彻底关闭,如需要彻底关闭怎么关闭?还是子页面占用内存多了,怎么清除哪些多余的内存?
发现问答中不止我一人遇到此问题,还有人和我遇到问题和我一样,如:http://ask.dcloud.net.cn/question/5787?item_id=18456&rf=false
借用此人的图片。
本来此图应该是点击“我”之后的页面,但是,现在圈子直接不切换webview了。
点击“我” - “我的消息” 之后,再返回主页面,主页面的底部导航栏就不好用了。

2015-10-29 18:02 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

不要使用openWindow打开。应该是关闭子页的详情页。这样自然就显示出来主页了。

  • peak (作者)

    首页十分十分感谢你的评论。如果只有一层子页面我都是用的返回。可是有的子页面是好几层的,没有办法只能用openWindow打开了。例如:主页面进入到登陆页面,登陆页面再进入了注册页面,注册页面再进入了修改密码页面,修改完密码我肯定要用openWindow进入主页面了。否则一层层关闭用户体验不好,也不符合常理和需求。我现在想知道有没有clear()掉除本页面之外的其余界面的方法。

    2015-10-29 18:48

peak

peak (作者)

如果只有一层子页面我都是用的返回。可是有的子页面是好几层的,没有办法只能用openWindow打开了。例如:主页面进入到登陆页面,登陆页面再进入了注册页面,注册页面再进入了修改密码页面,修改完密码我肯定要用openWindow进入主页面了。否则一层层关闭用户体验不好,也不符合常理和需求。我现在想知道有没有clear()掉除本页面之外的其余界面的方法。

peak

peak (作者)

或者使用openWindow打开新页面时候,顺便关闭旧页面的方法?

peak

peak (作者)

各位好,经过多次测试,发现一个规律,就是从子页面返回后,第一次点击底部的导航栏的某选项卡页面不切换,但是你如果在点击了别选项卡之后第二次点击原选项卡,页面有切换。总是第二次点击的时候有切换。
例如:示例图中,从子页面返回后,点击“业绩”时页面不切换,但是你点击下“客户”后再次点击“业绩”,界面就会切换到“业绩”页面,再点击“客户”页面会切换到了“客户”页面。可是你再点击“业绩”时页面不切换,点击下“客户”后再次点击“业绩”,界面就会切换....就是第二次点击切换时候才会切换。

  • chender

    感觉是tab切换那里的逻辑有bug,你跟踪一下

    2015-10-30 09:02

  • peak (作者)

    我又试了子页面如果是通过mui.back();方法直接回答主页面没有此问题,一改为mui.openWindow("../main.html");就会出现此问题。说明还是mui.openWindow方式退回含有选项卡的主页面有问题。

    2015-10-30 09:45

DCloud_UNI_FXY

DCloud_UNI_FXY

如果要直接后退好几个窗口,那可以在后退之前把前边路径上的窗口都关闭掉。

  • peak (作者)

    我新建了一个mui模板项目进行了测试,就算只有一级子页面,通过mui.back();方法直接返回webview模式的选项卡主页面没有此问题,一改为mui.openWindow("main.html");就会出现此问题。说明还是mui.openWindow方式退回含有选项卡的主页面有问题。


    所以这应该是一个bug。


    备注:

    (规律,就是从子页面返回后,第一次点击底部的导航栏的某选项卡页面不切换,但是你如果在点击了别选项卡之后第二次点击原选项卡,页面有切换。总是第二次点击的时候有切换。

    例如:示例图中,从子页面返回后,点击“业绩”时页面不切换,但是你点击下“客户”后再次点击“业绩”,界面就会切换到“业绩”页面,再点击“客户”页面会切换到了“客户”页面。可是你再点击“业绩”时页面不切换,点击下“客户”后再次点击“业绩”,界面就会切换....就是第二次点击切换时候才会切换。)

    2015-10-30 10:01

peak

peak (作者)

我新建了一个mui模板项目进行了测试,就算只有一级子页面,通过mui.back();方法直接返回webview模式的选项卡主页面没有此问题,一改为mui.openWindow("../main.html");就会出现此问题。说明还是mui.openWindow方式退回含有选项卡的主页面有问题。

所以这应该是一个bug。

备注:
(规律,就是从子页面返回后,第一次点击底部的导航栏的某选项卡页面不切换,但是你如果在点击了别选项卡之后第二次点击原选项卡,页面有切换。总是第二次点击的时候有切换。
例如:示例图中,从子页面返回后,点击“业绩”时页面不切换,但是你点击下“客户”后再次点击“业绩”,界面就会切换到“业绩”页面,再点击“客户”页面会切换到了“客户”页面。可是你再点击“业绩”时页面不切换,点击下“客户”后再次点击“业绩”,界面就会切换....就是第二次点击切换时候才会切换。)

ldf_work

ldf_work

本人前段时间打算用mui做公司的一个项目,没想到一开始就遇到了同样的问题,卡了一段时间,怕影响公司进度就向领导建议,还是回到了用android开发。

peak

peak (作者)

mui中mui.openWindow方法有没有打开新页面后当前页面关闭的方法,例如android中的finish().

这样写虽也可以实现,但是效果不好,会闪显一下更以前的页面才打开新页面,体验不好。
plus.webview.currentWebview().hide();
mui.openWindow("register.html ");

8***@qq.com

8***@qq.com

请问您还有demo吗?能发我下嘛?我也遇到您的问题,现在2级页面跳转过去,底部导航就不可以点了。

8***@qq.com

8***@qq.com

请问您还有demo吗?能发我下嘛?我也遇到您的问题,现在2级页面跳转过去,底部导航就不可以点了。

peak

peak (作者)

问题解决了,二级页面及其后的页面在跳转是关闭本页面在跳转,方法如下:
setTimeout(function() {
plus.webview.currentWebview().hide();
}, 1000)
mui.openWindow("test2.html");
最好回到主页面时候不用mui.openWindow,改为:
plus.webview.currentWebview().close();

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