如何在移动网络应用程序中隐藏地址栏
How to hide address bar in mobile web app?
我正在创建一个移动 Web 应用程序(非本机),我想为我的应用程序使用完整的屏幕高度。问题是浏览器的地址栏占用了大量空间,给我留下了整个屏幕的 4/5 左右。
我已经制作了我的应用程序,以便永远不会有任何滚动,该网站始终适合用户屏幕的高度。我真正追求的是Facebook移动网站所做的事情。它会向下滚动以隐藏地址栏。
对于Android设备和iPhone以及不同的移动浏览器(不同的地址栏大小),是否有任何通用的方法可以做到这一点?
顺便说一句:我正在使用Iscroll4来获取固定的页脚和页眉。
编辑:这是我最终得到的代码。我添加了两个按钮,让用户选择是否使用全屏模式。这段代码与 Iscroll4 和 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);
}
你可以在这里找到一篇关于如何实现这一点的好文章 http://mobile.tutsplus.com/tutorials/mobile-web-apps/remove-address-bar/
示例脚本
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 );
"向下滚动"的javascript技巧应该在iPhone和Android上都有效:
http://mobile.tutsplus.com/tutorials/mobile-web-apps/remove-address-bar/
不确定其他移动浏览器,但很抱歉。你说的是黑莓,Windows手机等还是更基本的手机?
我通常这样做的方式是:
window.addEventListener("load",function() {
setTimeout(function(){
window.scrollTo(0, 1);
}, 0);
});
但只有当页面足够长可以向下滚动一点时,它才会起作用。
试试这个,
对于安卓:
if(navigator.userAgent.match(/Android/i)){
window.scrollTo(0,1);
}
对于苹果手机:
<meta name="apple-mobile-web-app-capable" content="yes" />
相关文章:
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 如何使用Bootstrap和Heroku为Rails应用程序添加隐藏的播放音频
- 如何定位“隐藏”的 iframe?(应用程序:链接到嵌入“隐藏的海报图像”嵌入的 Youtube 视频的起始位置)
- 如何将 phonegap 2.9.0 更新到 3.0 或在 phonegap 应用程序中隐藏状态栏
- 在轨道应用程序中隐藏标签云
- 如何在角度应用程序中显示或隐藏某些页面的标题
- 如何在移动网络应用程序中隐藏地址栏
- 有什么方法可以隐藏搜索栏,直到用户向上滚动..类似于iPhone上的消息应用程序
- 以下angularJS应用程序的HTML代码如何工作并在网页上显示隐藏的文本
- 如何在纯 Javascript HTML Web 应用程序中隐藏凭据
- 如何在Angular应用程序中隐藏损坏的图像
- 在asp应用程序中使用jquery隐藏字段
- 平均堆栈应用程序:can't使用指令“t”隐藏内容;ng隐藏'&”;
- 如何在模块基础应用程序中隐藏全局命名空间对象
- 如果路由是登录的,如何在应用程序模板中隐藏导航栏
- 有没有办法隐藏我的Facebook应用程序ID
- 破解隐藏Safari's移动应用程序的较低导航栏
- 在JavaScript应用程序中隐藏IP
- 在WEB应用程序中为已选择的选项卡隐藏超链接按钮
- 如何在应用程序中隐藏幻灯片菜单