【发布时间】:2014-06-03 17:49:58
【问题描述】:
我有一个使用 JavaScript 生成的页面。我想将$(window).scrollTop() 值存储在哈希中(如#position=xxx),这样当刷新页面并再次生成项目时,用户可以从他们离开的地方继续滚动。
我正在尝试修改beforeunload 上的哈希,这似乎不起作用。下面函数的第一部分尝试更改哈希,第二部分负责在页面加载时修改 scrollTop。第二部分工作正常,我只坚持第一部分。
$(window).on('beforeunload',function(){
window.location.hash = "position="+$(window).scrollTop();
}).on('load hashchange',function(){
var scrollregex = /^position=(\d+)$/,
hash = window.location.hash.substring(1);
if (scrollregex.test(hash)) $(window).scrollTop(parseInt(hash.match(scrollregex)[1]));
});
是否有不同的事件,或者当用户触发刷新时如何更改哈希?
【问题讨论】:
-
看起来您想使用一些持久数据客户端,这不是哈希的目的,而是 cookie 或本地/会话存储
标签: javascript jquery onbeforeunload hashchange