javascript - js刷新页面后页面位置
PHP中文网
PHP中文网 2017-04-11 13:33:50
[JavaScript讨论组]

用js的window.location.href 刷新页面之后,希望页面固定在刷新页面前的位置,而不是回到页首,应该怎么办?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
PHPz

这个问题的核心在于如何跨页面传值,刷新相当于跨页面了,常用的就那么几种,window.name, cookie, localStorage, location.hash .....

实现思路:

可以实时监听onscroll事件,获得实时的页面高度,然后缓存起来,或者监听页面关闭事件onbeforeunload,获取当前的scrollTop,这个事件可能有兼容性问题。
当页面加载完成后,从之前缓存的地方读取出数据,再scroll滚动到那个地方去。

伊谢尔伦

http://lesscss.cn/features/#mixins-feature-the-important-keyword

会直接跳转到Idmixins-feature-the-important-keyword的位置

如果是任意位置的话,只能存储在本地(cookie,localStorage),刷新之后js取出位置再滚动到指定位置。

伊谢尔伦

个人建议,
页面滚动的时候绑定一个事件监听,将当前页面的url和滚动距离写入 localStorage或者cookie,
进入页面的时候从localStorage或者cookie取出当前url对应的滚动距离,如果有,滚动到具体位置,如果没有。不滚动

PHP中文网

同意2楼说法,不过个人认为用sessionstorage会好点,关闭浏览器则过期

高洛峰

为什么不用 window.location.reload() 呢?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号