附件里有测试工程, 打开后,先点击底部选项卡--->最上面的手机号--->更改密码。 此时页面的跳转是正确的。
然后回到首页,点击地图里的图标打开另一个页面。 此时再去更改密码的页面,页面的跳转就发生了问题,页面变成了 地图标注跳转的页面。 我这里地图标注页面和更改密码页面的跳转利用的是template.html。不过在地图标注页面的跳转中,中间中转页面是(parking-list-title页面)。希望您能解答一下,我这里的跳转是什么原因造成的,如何修改?
附件里有测试工程, 打开后,先点击底部选项卡--->最上面的手机号--->更改密码。 此时页面的跳转是正确的。
然后回到首页,点击地图里的图标打开另一个页面。 此时再去更改密码的页面,页面的跳转就发生了问题,页面变成了 地图标注跳转的页面。 我这里地图标注页面和更改密码页面的跳转利用的是template.html。不过在地图标注页面的跳转中,中间中转页面是(parking-list-title页面)。希望您能解答一下,我这里的跳转是什么原因造成的,如何修改?
赵梦欢 - 专注前端,乐于分享!
把工程看了看,基本可以判定问题所在了,你这里用了在两个页面引用了同一个模板页面,这种做法显然是有问题的。下面我详细分析一下:
我们用模板页面是为了将相同的页面提取出来,提前预加载,然后在进去详情页的时候通过替换loadURL替换url,实现无等待窗体切换,在模板页面有这样一段代码:
mui.back = function() {
self.hide('auto');
setTimeout(function() {
titleElem.className = 'mui-title mui-fadeout';
titleElem.innerText = '';
if(contentWebview==null){
contentWebview = self.children()[0];
}
contentWebview.hide("none");
}, 350);
}
contentWebview.hide("none");这里不是close,而是hide,就是为了在打开的时候保留这个模板页面。
当你在另外一个页面在此预加载这个这个模板页面,自然会报错,这个时候建议单独建一个模板,而且不建议用太多的模板。比如你那个地图点进去完全没必要用模板啊,直接页面传个参数就OK了。
而且看你这个工程里面那个上拉刷新下拉加载的也有一定问题,不排除那个报错也会阻塞程序。
8***@qq.com (作者)
两个页面引用了同一个模板页面? 这个是什么意思?
还有一个问题,还是我发给您的那个测试项目,您把 tab-webview-subpage-about.html(地图页面)中的
var subWebview=mui.preload({
url:"",
id:"sub_template",
styles:{
top:"0px", //把它改成45px;
bottom:"0px"
}
})
这个是影响地图页面向标注页面跳转的。 为什么其它页面跳转后top也变成了45px。 比如跳转到那个更改密码的页面?
2016-07-31 17:09