admin管理员组文章数量:1429556
I'm creating a mobile web app (not native), and I want to use the plete screen height for my application. The problem is that the address bar of the browser takes up a lot of space, leaving me with about 4/5 of the entire screen.
I've made my app so that there's never any scrolling, the site always fits the height of the user's screen. What I'm really after, is what the facebook mobile website does. It scrolls down to hide the address bar.
Is there any universal way of doing this, for Android devices as well as Iphone, and in different mobile browsers (different address bar sizes)?
BTW: I'm using Iscroll4 to get a fixed footer and header.
EDIT: This is the code I ended up with. I added two button to let the user choose whether or not to use fullscreen mode. This code works in bination with Iscroll4 and Jquery.
<script type="text/javascript">
$(document).ready(function() {
var fullscreen = false;
if(fullscreen==false)
{
window.removeEventListener("orientationchange", function(){ hideAddressBar(); } );
window.addEventListener("orientationchange", function(){ showAddressBar(); } );
}
else
{
window.removeEventListener("orientationchange", function(){ showAddressBar(); } );
window.addEventListener("orientationchange", function(){ hideAddressBar(); } );
}
$('#fullscreen').click(function(){
hideAddressBar();
fullscreen = true;
});
$('#normalscreen').click(function(){
showAddressBar();
fullscreen = false;
});
});
function hideAddressBar()
{
document.body.style.height = (window.outerHeight + 20) + 'px';
window.scrollTo(0, 1);
}
function showAddressBar()
{
document.body.style.height = (window.outerHeight - 20) + 'px';
window.scrollTo(0, 0);
}
I'm creating a mobile web app (not native), and I want to use the plete screen height for my application. The problem is that the address bar of the browser takes up a lot of space, leaving me with about 4/5 of the entire screen.
I've made my app so that there's never any scrolling, the site always fits the height of the user's screen. What I'm really after, is what the facebook mobile website does. It scrolls down to hide the address bar.
Is there any universal way of doing this, for Android devices as well as Iphone, and in different mobile browsers (different address bar sizes)?
BTW: I'm using Iscroll4 to get a fixed footer and header.
EDIT: This is the code I ended up with. I added two button to let the user choose whether or not to use fullscreen mode. This code works in bination with Iscroll4 and Jquery.
<script type="text/javascript">
$(document).ready(function() {
var fullscreen = false;
if(fullscreen==false)
{
window.removeEventListener("orientationchange", function(){ hideAddressBar(); } );
window.addEventListener("orientationchange", function(){ showAddressBar(); } );
}
else
{
window.removeEventListener("orientationchange", function(){ showAddressBar(); } );
window.addEventListener("orientationchange", function(){ hideAddressBar(); } );
}
$('#fullscreen').click(function(){
hideAddressBar();
fullscreen = true;
});
$('#normalscreen').click(function(){
showAddressBar();
fullscreen = false;
});
});
function hideAddressBar()
{
document.body.style.height = (window.outerHeight + 20) + 'px';
window.scrollTo(0, 1);
}
function showAddressBar()
{
document.body.style.height = (window.outerHeight - 20) + 'px';
window.scrollTo(0, 0);
}
Share
Improve this question
edited Dec 11, 2018 at 7:18
Cœur
38.8k25 gold badges206 silver badges279 bronze badges
asked May 8, 2012 at 10:36
kristof_wkristof_w
3022 silver badges11 bronze badges
4 Answers
Reset to default 2You can find a good article on how this is achieved here http://mobile.tutsplus./tutorials/mobile-web-apps/remove-address-bar/
Sample script
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 );
The "scroll down" javascript trick should work on both iPhone and Android:
http://mobile.tutsplus./tutorials/mobile-web-apps/remove-address-bar/
Not sure about other mobile browsers though sorry. Are you talking about Blackberry, Windows phone, etc. or more basic phones?
The way I usually do this is:
window.addEventListener("load",function() {
setTimeout(function(){
window.scrollTo(0, 1);
}, 0);
});
But it will only work if the page is long enough to scroll down a bit.
Try this,
For android:
if(navigator.userAgent.match(/Android/i)){
window.scrollTo(0,1);
}
For iPhone:
<meta name="apple-mobile-web-app-capable" content="yes" />
本文标签: phpHow to hide address bar in mobile web appStack Overflow
版权声明:本文标题:php - How to hide address bar in mobile web app? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745501186a2661038.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论