我使用以下脚本在 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(!window ... 并取出 else 但为了测试目的想保持这样,请指出我写错的可能性。
有什么想法吗?
最佳答案
使用 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);
});
关于javascript - 自动隐藏地址栏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906987/