网站首页 > 教程文章 正文
微信打开网页从列表页进入详情页面点击返回,回到列表页浏览位置。
在使用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开发,如有错误欢迎指正。
- 上一篇: javascript自学记录:location对象
- 下一篇: 记录2种在移动端跳转到指定页面的方法
猜你喜欢
- 2024-12-01 Shopify模版编辑器问题排查及解决办法汇总
- 2024-12-01 JS实现防止别人通过控制台调试网站
- 2024-12-01 Web安全防范知识基础讲解
- 2024-12-01 「Shopify」屏蔽国内同行卖家访问网站
- 2024-12-01 避免网站中出现 index.html
- 2024-12-01 实现网页跳转的方法
- 2024-12-01 将 Safari 打造成 iOS 里的快速启动中心:Bookmarklet
- 2024-12-01 JMeter主要组件介绍(一)
- 2024-12-01 H5浏览器直接调起微信(url协议 weixin:// )判断是否安装微信
- 2024-12-01 HTTP GET如何在分页查询时传递中文参数值
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)