На этом сайте также есть несколько других предложений, но этот, не несуразный, не волнующийся, доступен в github: gist и отвечает на ваш вопрос (вставлен здесь для удобства):
function hideAddressBar()
{
if(!window.location.hash)
{
if(document.height < window.outerHeight)
{
document.body.style.height = (window.outerHeight + 50) + 'px';
}
setTimeout( function(){ window.scrollTo(0, 1); }, 50 );
}
}
window.addEventListener("load", function(){ if(!window.pageYOffset){ hideAddressBar(); } } );
window.addEventListener("orientationchange", hideAddressBar );
Насколько я могу судить, комбинация дополнительной высоты, добавленной на страницу (которая создала проблемы для вас), и оператора scrollTo () заставляют адресную строку исчезать.
На том же сайте «простейшим» решением для сокрытия адресной строки является использование метода scrollTo ():
window.addEventListener("load", function() { window.scrollTo(0, 1); });
Это будет скрывать адресную строку до тех пор, пока пользователь не прокрутит.
Этот сайт помещает тот же метод в функцию тайм-аута (обоснование не объясняется, но утверждает, что код не работает без него):
// When ready...
window.addEventListener("load",function() {
// Set a timeout...
setTimeout(function(){
// Hide the address bar!
window.scrollTo(0, 1);
}, 0);
});