Skip to content

Instantly share code, notes, and snippets.

@gregstewart
Forked from scottjehl/hideaddrbar.js
Created September 4, 2012 11:48
Show Gist options
  • Save gregstewart/3620533 to your computer and use it in GitHub Desktop.
Save gregstewart/3620533 to your computer and use it in GitHub Desktop.
Normalized hide address bar for iOS & Android
/*
* Normalized hide address bar for iOS & Android
* (c) Scott Jehl, scottjehl.com
* MIT License
*/
(function( win ){
var doc = win.document;
// If there's a hash, or addEventListener is undefined, stop here
if( !location.hash && win.addEventListener ){
//scroll to 1
window.scrollTo( 0, 1 );
var scrollTop = 1,
getScrollTop = function(){
return win.pageYOffset || doc.compatMode === "CSS1Compat" && doc.documentElement.scrollTop || doc.body.scrollTop || 0;
},
//reset to 0 on bodyready, if needed
bodycheck = setInterval(function(){
if( doc.body ){
clearInterval( bodycheck );
scrollTop = getScrollTop();
win.scrollTo( 0, scrollTop === 1 ? 0 : 1 );
}
}, 15 );
win.addEventListener( "load", function(){
setTimeout(function(){
//at load, if user hasn't scrolled more than 20 or so...
if( getScrollTop() < 20 ){
//reset to hide addr bar at onload
win.scrollTo( 0, scrollTop === 1 ? 0 : 1 );
}
}, 0);
}, false );
}
})( this );
@gregstewart
Copy link
Author

We are using a build server that is running FireFox 3.6.12 and while this is not a mobile browser, it does run our automated tests (for better or worse). Anyway, leaving off the third argument of the addEventListener, caused the the tests to fail, when the minifying and concatenating our libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment