接触MUI框架一周,开始做项目。出现的两个问题一直在论坛、官方文档、度娘转了好几天了,但得不到确切的解决方案,只有个人推测的BUG原因。p.s.在Hbuilder基座以及打包都存在这两个问题,控制台均未报错。
代码内容均使用MUI-Demo中examples/tab-webview-main.html内代码进行移植,并未修改js逻辑。
手机平台:红米Note3 MIUI7.3.3.0
正常示例图:
Q1示例图:
Q1:在tab页面渲染完成时,手机上迅速点击(200~500ms左右)非“推荐”的其他选项卡,就会出现无法切换到“推荐”的subpage页面问题。子webview内监听的backbutton与menubutton失效,也就是说tab页面的subpages没有进行渲染,或者说plus.webview.create()函数没有生效。
G1:推测是因为在200ms~500ms这段时间内plusready()还未加载完毕导致的这个问题,只报过一次plus is not defined。但是在Q1实例图中测试每个选项卡点击时均未报plus is not defined。那就是说这块代码
//选项卡点击事件
mui('.mui-bar-tab').on('tap', 'a', function(e) {
var targetTab = this.getAttribute('href');
if (targetTab == activeTab) {
return;
}
//更换标题
title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
//显示目标选项卡
//若为iOS平台或非首次显示,则直接显示
if (mui.os.ios || aniShow[targetTab]) {
plus.webview.show(targetTab);
} else {
//否则,使用fade-in动画,且保存变量
var temp = {};
temp[targetTab] = "true";
mui.extend(aniShow, temp);
plus.webview.show(targetTab, "fade-in", 300);
}
//隐藏当前;
plus.webview.hide(activeTab);
//更改当前活跃的选项卡
activeTab = targetTab;
});
要么导致选项卡点击事件先于上面的plus.webview.create()创建subpages发生,要么导致我所有4个webview全部隐藏了,而且监听返回键菜单键事件也不响应。
这一个问题在http://ask.dcloud.net.cn/question/6485 中没有看到@DCloud_MUI_CHB的详细解答,大家有什么想法就在评论里面Mark出来吧,求Comments。
Q2示例图:
Q2:这是一个偶发BUG,个人测试后发现大概每打开8~10次App就会出现,点击其中的某一个或者全部选项卡(包括‘推荐’页的自动trigger点击),得到这样父webview的header与bar-tab被部分遮盖的效果。tab显示部分仍然可以点击。
G2:在尝试了http://ask.dcloud.net.cn/question/855 的方法后,代码块修改成
//选项卡
var self = plus.webview.currentWebview();
for (var i = 0; i < 4; i++) {
var temp = {};
var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
self.append(sub);
if (i > 0) {
sub.hide();
} else {
temp[subpages[i]] = "true";
mui.extend(aniShow, temp);
}
}
偶发出现父webview被覆盖的情况频度感觉上降低了,但是依然存在。
又参考了http://ask.dcloud.net.cn/question/6073的评论,没有得出确切的代码解决方案,大家有什么想法就在评论里面Mark出来吧,求Comments。
项目demo包已发至:cuihongbao@dcloud.io,@DCloud_MUI_CHB 有时间帮忙debug一下~辛苦啦!
欢迎大家分享自己的问题与想法~
MUI_Charles (作者)
最新版 版本号:7.2.2.201606152019 官网只有这个呀 要等7.3.0发布?0.0
2016-06-27 21:36
BoredApe
不是7.3 你这个就是最新版.. 发个测试工程给我.说明下重现步骤
2016-06-28 09:54
MUI_Charles (作者)
回复 BoredApe:给个email等下发过去
2016-06-28 12:44