根据 this document.body.scrollTop 在 Firefox 中已弃用,请改用 document.documentElement.scrollTop。您可能需要插入一些条件逻辑才能在 Safari 中使用 document.body.scrollTop,在 Firefox 中使用 document.documentElement.scrollTop。
将您的点击处理程序更改为类似
$("#english").on("click",function(){
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
localStorage.setItem("scroll", scrollTop);
});
也
如果localStorage中不存在滚动则
localStorage.clear();
typeof localStorage.getItem("scroll"); // "object"
如果存在滚动则
localStorage.setItem("scroll", 1000);
typeof localStorage.getItem("scroll"); // "string"
如果滚动为 0
localStorage.setItem("scroll", 0);
typeof localStorage.getItem("scroll"); // "string"
因此,除非“滚动”明确设置为未定义,否则typeof localStorage.getItem('scroll') === 'undefined'; 将永远不会返回 true。
如果scroll不存在,则其值为null
localStorage.clear();
localStorage.getItem("scroll"); // null
与
null === true //false
所以
if(localStorage.getItem("scroll"))
{
window.scrollTo(0, parseInt(localStorage.getItem("scroll")));
}
如果存在滚动(当然是数字)将滚动,如果不存在则不会滚动。您是否在寻找其他行为?