5***@qq.com
5***@qq.com
  • 发布:2017-06-22 16:04
  • 更新:2017-06-22 22:18
  • 阅读:952

【报Bug】编辑器升级过后,安卓下按键返回出现bug

分类:HBuilder

详细问题描述
[内容] 按下返回键后,页面被隐藏,没有被关闭,使用mui.back、点击头部返回图标能正确关闭,更新版本之前一切正常,更新到最新版之后出现问题

重现步骤
[步骤] 点击A商品进入详情页,按键返回后,再点击B商品进入详情页
[结果]详情页显示的是A商品的详情
[期望]应该出现B商品的详情

运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ]
[电话]

2017-06-22 16:04 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

给你捋一捋你的情况,在列表页,点击A商品进入详情页,按键返回后回到列表页,再点击B商品进入详情页,[结果]详情页显示的是B商品的详情,这个过程没有错啊?点击B商品显示了A商品详情才有问题呢~

  • 5***@qq.com (作者)

    写反了,尴尬

    2017-06-22 16:34

回梦無痕

回梦無痕 - 暂停服务

其实不是bug就是这样设定的,点击返回和点击左上角,页面都是被隐藏,而不是关闭。如果是关闭,每次打开详情页都要创建webview,耗资源。
你的列表页是一个webview,详情页是一个webview,而点击不同的商品,进入的详情页webview是不会自动更新数据的,需要再打开详情页之前调用详情页的方法更新页面数据。
示例:
列表页:
if(plus.webview.getWebviewById('详情页ID'))
{
var page=plus.webview.getWebviewById('详情页ID');
mui.fire(page, 'reoladinfo', {
data:data//传递数据
});
}
//为什么要用openWindow呢?因为这家伙会检测要打开的页面是否已经被创建,已创建就show,未创建就创建打开
mui.openWindow({
url: '详情页.html',
id: '详情页ID',
show: {
aniShow: 'pop-in'
}
});

详情页:
//监听reoladinfo
document.addEventListener('reoladinfo', function(e) {
var data=e.detail.data;//接收传递过来的数据,也可以不传递,这里直接请求api获取数据
/为所欲为/
});

  • 5***@qq.com (作者)

    不对啊,哥们,这个app是已经做完很久的了,以前都是正常的,今天只是客户叫修改点页面样式,升级编辑器后就出现这个问题,点击左上角是正确的关闭的,而点击返回键是一部分页面有问题,注意是一部分,有的页面正常关闭,而有的页面无法正常关闭

    2017-06-22 16:57

  • 回梦無痕

    回复 5***@qq.com:那就重写mui.back();mui.back=function(){ plus.webview.hide('详情页ID');//plus.webview.close('详情页ID');}

    2017-06-22 17:02

  • 5***@qq.com (作者)

    页面太多了,重写太麻烦,而且还有个问题,我设置的启动页也不生效了,打包出来是默认的启动页,我准备用老版本重新打个包

    2017-06-22 17:04

5***@qq.com

5***@qq.com (作者)

已解决,同事修改了源码,重写了返回操作

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