MUI在第二次打开预加载的webview时,怎么让其重新回到顶部?
大家好,我有许多商品的主页A,和预加载的商品详情共用页B。
点击商品1,则跳转到预加载的详情页B中显示,在返回A时,由于B是预加载的,MUI在处理机制上是将B隐藏了。
重点来了!
当我返回主页A并点击商品2时,再次被打开的页面B居然(自然)还是在上次我浏览商品1的地方。
但我想要的效果是,每一次打开页面B时,都是在顶部的。
试过的方法
页面B重写mui.back(),reload自己,但是会影响返回。
页面B重写mui.back(),mui.currentWebview.opener().reload(); 返回A后会回到顶部(正是我要的效果),但它不应该出现在A,而是B……
找了一圈MUI的预加载,只找到如果预加载,却没有提供预加载后该怎么处理类似这样的问题,寻求大家帮助,谢谢。
页面A相关代码
/******页面预加载*******/
var good_content = mui.preload({
url: 'content/good_content.html',
id: 'good_content.html'
});
/*****进入商品详情页*******/
function browseGood(good_content) {
mui("#good").on('tap', 'a', function() {
if(!good_content) {
alert('不存在订单详情页');
} else {
console.log(JSON.stringify(good_content));
}
var goodId = this.querySelector('h4').title;
console.log("你已经点击了商品" + goodId);
//定义商品详情页面
mui.fire(good_content, 'goodIdtran', {
'goodId': goodId
});
mui.openWindow({
id: 'good_content.html',
});
})
页面B相关代码
mui.plusReady(function() {
var vmGoodContent = new Vue({
el: '#goodContent',
data: {
goodSeekItems: {}
},
methods: {
//AJAX获取用户点击的商品信息
getContentByGoodId: function(goodId) {
console.log('这是vue的' + goodId);
ajaxGoodContent(goodId, this);
}
}
});
window.addEventListener('goodIdtran', function(e) {
var goodId = e.detail.goodId;
console.log("内容页面已接受商品" + goodId);
vmGoodContent.getContentByGoodId(goodId); //根据id向服务器请求商品详情
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论