微信返回列表页回到原浏览位置问题记录

微信返回列表页回到原浏览位置问题记录微信打开网页从列表页进入详情页面点击返回,回到列表页浏览位置。在使用a标签跳转后在返回列表页会重新加载(内容都是通过ajax加载),无法回到原浏

欢迎大家来到IT世界,在知识的湖畔探索吧!

微信打开网页从列表页进入详情页面点击返回,回到列表页浏览位置。

在使用a标签跳转后在返回列表页会重新加载(内容都是通过ajax加载),无法回到原浏览位置,而且微信内置浏览器只允许有一个标签页。<a target=’_blank’> </a> 无效。

没办法只好用sessionStorage解决,在列表页点击跳转前,缓存列表内容、页数和滚动条位置:

<a href=”javascript:;” v-on:click=”go([item.t === ‘b’ ? ‘newsdetail.html?id=’+item.id : ‘videodetail.html?id=’+item.id])”></a>

绑定点击事件,判断跳转页面。

go(url) {

//console.log(‘跳转’);

//缓存列表数据

sessionStorage.setItem(‘index_list’, this.$refs.wrapper.innerHTML);//参考vuejs $refs

//缓存滚动条位置

sessionStorage.setItem(‘index_scroll’, $(window).scrollTop());

//缓存当前页码

sessionStorage.setItem(‘index_page’, page);

window.location.href = url;

return false;

}

在返回列表页时,页面会重新加载,需要判断缓存是否存在,如果存在加载缓存数据,否则重新加载。

var lists = sessionStorage.getItem(“index_list”);//加载缓存

if (null !== lists && ” !== lists) {

//恢复数据

//$(“#wrapper”).html(lists);

//window.scrollTop(sessionStorage.getItem(‘index_scroll’));

//document.getElementById(“wrapper”).innerHTML = lists;

page = sessionStorage.getItem(‘index_page’);

var scrol = sessionStorage.getItem(“index_scroll”);

//请求数据

axios.post(‘不告诉你’).then((response) => {

this.list.push(response.data);

this.newsList = this.list[0];

console.log(this.newsList);

})

//滚动条事件

$(“html,body”).animate({ scrollTop: scrol }, 1000);

//删除缓存

sessionStorage.removeItem(‘index_list’);

sessionStorage.removeItem(‘index_scroll’);

} else {

//请求数据

axios.post(‘不告诉你’).then((response) => {

this.list.push(response.data);

this.newsList = this.list[0];

console.log(this.newsList);

})

}

}

微信返回列表页回到原浏览位置问题记录

第一次使用vuejs开发,如有错误欢迎指正。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36590.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信