自动地址栏问题

时间:2012-08-10 18:06:01

标签: javascript iphone safari hide address-bar

我正在使用此脚本在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);
});

以防万一有人说我打算做一个if(!窗口......然后拿出其他但想把它保留下来用于测试目的,标记出我写错的可能性。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

使用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);
});

当你完成测试时,你可以将它全部折叠成一行:

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