自动隐藏地址栏问题

autohide address bar issue

本文关键字:问题 地址栏 隐藏      更新时间:2023-09-26

我使用以下脚本在 iPhone 上的 Safari 中隐藏了我的地址栏:

window.addEventListener("load",function() {
setTimeout(function(){
window.scrollTo(0, 1);
}, 0);
});

问题是,如果页面没有完全加载并且用户向下滚动,当它完成加载时,它会再次向上弹回。我想使这更具防御性,因此当用户移动手机并自己清除地址栏时,它不会再次这样做。

这是我的尝试,但没有奏效:

window.addEventListener("load",function() {
setTimeout(function(){
  if(window > 1){
  }
  else
  {
window.scrollTo(0, 1);
}}, 0);
});

以防万一有人说我要做一个如果(!窗口...并取出其他但想保持这样进行测试,标记出我写错的可能性。

有什么想法吗?

使用 document.body.scrollTop 而不是简单地window

window.addEventListener("load",function() {
    setTimeout(function() {
        if (document.body.scrollTop > 1) {
            // Do your testing here...
        } else {
            window.scrollTo(0, 1);
        }
    }, 0);
});

完成测试后,可以将其全部折叠为 1 行:

window.addEventListener("load",function() {
    setTimeout(function() {
        document.body.scrollTop || window.scrollTo(0, 1);
    }, 0);
});