我观察到刷新后,通过按 F5 或什至一些 location.reload();
,浏览器会强制滚动到之前的最后位置刷新。
问题是,我们跟踪用户在页面上的进度,并且这种“自动”滚动会触发我们一直放置到刷新前最后一个位置的所有检查点。
我们想知道是否有可能将这种“自动”卷轴与用户制作的卷轴区分开来。
例如,我们有很多:
$(window).scroll(function() {
var windowMax = $(window).scrollTop()+$(window).innerHeight()/2;
if (windowMax > .....)
});
有没有办法区分这两种卷轴?
编辑
请注意,我不想阻止自动滚动,我想改变它。
最佳答案
您可以添加一个就绪的事件监听器,并在加载后立即检查 .scrollTop()
。
var isScrolledAfterRefresh;
$(function() {
isScrolledAfterRefresh = $(window).scrollTop() > 0;
});
您确实需要确保在触发就绪事件后执行其余代码。
关于javascript - 区分刷新后的自动滚动和其他类型的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650282/