当前位置: 首页 > 编程笔记 >

移动端WebApp隐藏地址栏的方法

汪文光
2023-03-14
本文向大家介绍移动端WebApp隐藏地址栏的方法,包括了移动端WebApp隐藏地址栏的方法的使用技巧和注意事项,需要的朋友参考一下

1、很多资料说,添加以下代码,可以隐藏地址栏,但我试了很多次,貌似不成功啊。


<meta name="apple-mobile-web-app-capable" content="yes" />


2、我们可以通过另一种方法来隐藏地址栏。在页面加载完成之后滚动窗口,这个确实有效,唯一要注意的是页面高度必须够高,核心代码如下:

<script type="text/javascript"> 

      addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); 

      function hideURLbar(){ 

                window.scrollTo(0,1); 

      } 

</script>


3、但是当页面高度自适应窗口(height:100%),以上方法就不适用了,我们需要采用特殊方法:

$('div').css("height",window.innerHeight+100);  //强制让内容超过 

window.scrollTo(0, 1); 

$("div").css("height",window.innerHeight);  //重置成新高度 

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);  //如果不想让页面滑动,可以加上这段代码

4、分享一下开源项目

移动前端界面进去的时候,我们会看到地址工具条,这看起来不怎么像一个APP,那么怎么隐藏掉这个地址条,下面提供了一个比较合适的代码,支持ios和Android.


/*! Normalized address bar hiding for iOS & Android (c) @scottjehl MIT License */

(function( win ){

var doc = win.document;

// If there's a hash, or addEventListener is undefined, stop here if(!win.navigator.standalone && !location.hash && win.addEventListener ){

//scroll to 1 win.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 );


详细请访问: https://github.com/scottjehl/Hide-Address-Bar

如果你的浏览器支持标签隐藏的话:


<meta name="apple-mobile-web-app-capable" content="yes" />

 类似资料:
  • 问题内容: 如何隐藏iPhone上的地址栏? 到目前为止,我尝试了两种不同的方法: 在页面加载时使用JavaScript向下滚动一个像素的技巧 以及以下元标记: 还有这个: 我完全感到困惑。 PS:哦,我忘记了一件非常重要的事情:网页本身不会溢出浏览器窗口。这可能是1像素向下滚动技巧不起作用的原因。 我无法将其放大,因为设计的热门之处在于每个人都可以滚动,但是此页面可以折叠… :) 问题答案: 我

  • 使用window.open(),想要隐藏新开窗口地址栏 但是谷歌浏览器中不支持地址栏隐藏,location=no无效,且不能使用全屏 如何隐藏地址栏,还有其他方法吗

  • 问题内容: 我必须隐藏浏览器的地址栏。我正在使用此代码: 在许多解决方案中,仅location=no属性可以隐藏地址栏(在IE和Chrome中)。但是,这对我不起作用(即使在IE和Chrome中也是如此)。 最后,我找到了一条MSDN文章,其中描述了如何location=no简单地隐藏后退/前进/停止导航按钮,并使地址栏为只读。 有什么解决方案可以通过忽略上面的MSDN文章来隐藏整个地址栏吗? 我

  • 本文向大家介绍javascript模拟post提交隐藏地址栏的参数,包括了javascript模拟post提交隐藏地址栏的参数的使用技巧和注意事项,需要的朋友参考一下 通过js模拟post提交 1:请求需要的参数过长,超过get允许的最大长度 2:想要隐藏地址栏的参数

  • 我目前正在开发一个响应网站使用Twitter引导。 该网站有一个全屏背景图像的移动/平板/台式机。这些图像通过使用两个div旋转和淡化通过每一个。 几乎完美无缺,除了一个问题。使用iOS Safari、Android浏览器或Android上的Chrome时,当用户向下滚动页面时,背景会略微跳转,导致地址栏隐藏。 网址在这里:http://lt2.daveClarke.me/ 在移动设备上访问它并向

  • 我正在构建一个应用程序,带有页面导航,需要在某些页面上显示状态栏,并在其他页面上隐藏它。我想使用淡入/淡出动画,所以我必须设置 并像这样更新状态栏: 当在页面之间导航时,这个过程非常有效,但我无法在启动时摆脱状态栏。 我试过设置: 将其添加到 将此添加到AppDelegates完成启动时使用了以下选项: 将其添加到初始页面的ViewController: 以及在链接的情节提要元素中将“状态栏”设置