iphone的safari浏览器中实现全屏浏览的方法_IOS

正常情况下,当你用手机浏览器打开网页时,导航就停留在上面,这样实际展示的屏幕就变小了。
那能不能加载后,屏幕就自动全屏呢?这就是本文要讨论的。

Add to Home Screen

说到全屏不得不谈iPhone下的safari有一个特别且重要的功能就是“Add to Home Screen”。(就在Safari浏览器最下方,最中间的那个位置,点击选择即可)
这个功能类似于把网页地址作为一个超链接的方式放到手机桌面,并且可以直接访问。不过要注意的是每个链接都需要js进行一次特殊处理,那就是监听页面点击事件,如果是链接,则使用window.location = this.href;,这样页面就不会从当前的本地窗口跳到浏览器了。
那我们看看具体代码是怎么处理的。
其实只需要在HEAD代码里增加一些必要数据:

复制代码 代码如下:

<meta name="apple-mobile-web-app-capable" content="yes" /><!-- home screen app 全屏 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black" /><!-- 状态栏 -->
<!-- 还需要额外设置不同尺寸的启动图,默认不设置的话会自动去寻找根目录下的apple-touch-icon-precomposed.png -->
<!-- home screen app iPhone icon -->
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="startup/apple-touch-icon-57x57-precomposed.png" />
<!-- home screen app iPad icon -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="startup/apple-touch-icon-72x72-precomposed.png" />
<!-- home screen app iPhone Retinas icon -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="startup/apple-touch-icon-114x114-precomposed.png" />
<!-- home screen app iPad Retinas icon -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="startup/apple-touch-icon-144x144-precomposed.png" />
<!-- iPhone5启动图 -->
<link rel="apple-touch-startup-image" href="startup/startup5.png" media="(device-height:568px)">
<!-- iPhone4启动图 -->
<link rel="apple-touch-startup-image" size="640x920" href="startup/startup.png" media="(device-height:480px)">

还想了解具体的设置可以参考苹果的官网说明:Configuring Web Applications
当然,对启动图,我推荐的做法是只使用一张114*114的图片即可。即:

复制代码 代码如下:

<link rel="apple-touch-icon-precomposed" href="startup/apple-touch-icon-114x114-precomposed.png" />

全屏js代码

复制代码 代码如下:

window.addEventListener('DOMContentLoaded', function() {
    var page = document.getElementById('page'),
        nav = window.navigator,
        ua = nav.userAgent,
        isFullScreen = nav.standalone;

    if (ua.indexOf('Android') !== -1) {
        // 56对应的是Android Browser导航栏的高度
        page.style.height = window.innerHeight + 56 + 'px';
    } else if (/iPhone|iPod|iPad/.test(ua)) {
        // 60对应的是Safari导航栏的高度
        page.style.height = window.innerHeight + (isFullScreen ? 0 : 60) + 'px'
    }
    setTimeout(scrollTo, 0, 0, 1);
}, false);

这段代码本质上就是当前窗口的高度 + 导航栏的高度 获取到真实的屏幕高度。最后再调用scrollTo方法。

时间: 2024-08-03 16:29:03

iphone的safari浏览器中实现全屏浏览的方法_IOS的相关文章

win8系统下使用全屏浏览的方法

对于大屏幕电脑的用户来说,全屏幕浏览网页的使用需求不高,但对于小屏幕电脑的用户则相反.Win8系统搭载的IE浏览器能够快捷地实现全屏浏览网页,该怎么操作呢? 方法一 1.点击IE右上方的齿轮按钮. 2.选择文件-全屏. 方法二 在IE浏览器下按F11键.   笔记本用户可以将IE浏览器全屏浏览网页的技巧掌握起来,提高笔记本的屏幕利用率.

苹果Safari浏览器单窗口标签式浏览的方法

  苹果Safari浏览器默认以新窗口,而不是以单窗口多标签打开网页.下面介绍3种让苹果Safari浏览器像Firefox那样在单窗口标签式浏览的方法. 方法1:点击链接时,按住"Command"键,网页就会在苹果Safari浏览器的同一窗口的新标签方式打开; 方法2:安装一个苹果Safari浏览器插件:Saft.Saft不仅可以让苹果Safari浏览器实现单窗口标签式浏览; 方法3:打开终端(Terminal)输入以下命令: defaults write com.apple.Safa

Safari 全屏浏览网页时如何激活工具栏?

  Safari 是 iOS 原生自带浏览器,如果你常使用 Safari 浏览网页,工具栏的自动隐藏/显示也许你也掌握了一些技巧,上划网页工具栏会自动隐藏,下拉即可激活工具栏,当然激活工具栏不仅仅只有这一种方法,小编就为你介绍另外两种激活方式. Safari 全屏浏览网页时如何激活工具栏,以下三种方法都能实现: 1.向下滑动页面激活工具栏. 2.点击底端工具栏默认位置. 3.点击界面状态栏或网页名称处.

在VC中实现全屏窗口程序

全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单"ViewFull Screen",即可进入全屏显示状态,按"Esc"键后会退出全屏显示状态. 在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架.下面将先讨论点击菜单项"ViewFull Screen"实现全屏显示的方法,再讲述按"Esc"键后如何退出全屏显示状态. 1) 在CMainFrame

Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)

原文:Android中实现全屏.无标题栏的两种办法(另附Android系统自带样式的解释) 在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可. 实现全屏效果: android:theme="@android:style/Theme.NoTitleB

js-关于浏览器F11网页全屏问题

问题描述 关于浏览器F11网页全屏问题 我做了一个网页导航条的效果,默认是隐藏的,鼠标离开页面最上方的时候显示导航条,效果也已经实现. 现在有个想法,就是网页全屏的时候也显示导航条,不过发现问题了:1.导航条显示一下瞬间又消失了:2.网页全屏状态下按F11js代码不执行.下面是我的代码,哪路大神能看下给个建议. var scrheight = screen.height; var webheight = $(window).height(); //alert(scrheight+":"

combo box-Qt5 中窗口全屏状态下,ComboBox的下拉框无法显示?以及文本输入框输入文字时无法切换输入法?

问题描述 Qt5 中窗口全屏状态下,ComboBox的下拉框无法显示?以及文本输入框输入文字时无法切换输入法? 主要是全屏状态下时会出问题! Qt5 中窗口全屏状态下,ComboBox的下拉框点击后无法显示,但仍然可以选中!以及文本输入框输入文字时无法切换输入法!!该怎么解决!!求大神 解决方案 http://www.oschina.net/question/2001267_194321 解决方案二: 有没有大神可以解决下啊,或者可以提供一些思路啊!! 解决方案三: 好像是由于父窗口中存在qml

苹果在iOS 8版的Safari浏览器中推出一项新功能

摘要: 很多时候大家网购都需要录入自己的信用卡信息,长长的数字在移动设备上录入是件麻烦事.因此,苹果在iOS 8版的Safari浏览器中推出了一项新功能来,该功能可让用户利用设备的摄像 很多时候大家网购都需要录入自己的信用卡信息,长长的数字在移动设备上录入是件麻烦事.因此,苹果在iOS 8版的Safari浏览器中推出了一项新功能来,该功能可让用户利用设备的摄像头来扫描信用卡,然后自动识别其中的数字并录入相应信息,从而避免了人工录入的麻烦. 此前苹果也提供了其他形式的便利录入手段,比方说用户可以在

浏览器中实现3D全景浏览

如果你用过网页版的百度地图,你大概3D全景图浏览是一种怎样的酷炫体验:在一个点可以360度环顾周围的建筑.景色,当然也可以四周移动,就像身临其境. 科普 全景图共分为三种: ①球面全景图 利用一张全景图围成一个球,自身位置位于球体内.由于图片是矩形,所以最上和最下的缝合处很明显就能够看得出来. 球面全景图是最接近人眼的构建模式,若利用多个立面构建,拼接方法繁琐,性能消耗高. 因此,本文介绍的是上述通过一张全景图构成的球面全景图. ②立方体全景图 一个立方体,有六个面组成,所以就需要六张图片啦.自