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

 更新时间:2014年06月03日 08:46:15   作者:  
这篇文章主要介绍了iphone的safari浏览器中实现全屏浏览的方法,同时介绍了Add to Home Screen功能的实现方法,需要的朋友可以参考下

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

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方法。

相关文章

  • 详解iOS App中UITableView的创建与内容刷新

    详解iOS App中UITableView的创建与内容刷新

    这篇文章主要介绍了iOS App中UITableView的创建与内容刷新,讲解了UITableView一些基本的样式与cell的设置及刷新,需要的朋友可以参考下
    2016-04-04
  • iOS touch事件区分单击双击响应的方法

    iOS touch事件区分单击双击响应的方法

    如果您的 iPhone 应用里有个 view,既有单击操作又有双击操作。用户双击 view 时,总是先执行一遍单击的操作再执行双击的操作。所以直接判断时就会发现不能直接进入双击操作。下面是区分 touch 事件是单击还是双击的方法,需要的朋友可以参考下
    2016-10-10
  • 仿IOS效果 带弹簧动画的ListView

    仿IOS效果 带弹簧动画的ListView

    这篇文章主要介绍了仿IOS效果,带弹簧动画的ListView,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • iOS实现拼图小游戏

    iOS实现拼图小游戏

    这篇文章主要为大家详细介绍了iOS实现拼图小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • IOS UI学习教程之使用UIImageView控件制作动画

    IOS UI学习教程之使用UIImageView控件制作动画

    这篇文章主要为大家详细介绍了IOS UI学习教程之使用UIImageView控件制作动画,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • iOS实现毛玻璃效果(无需要第三方)

    iOS实现毛玻璃效果(无需要第三方)

    这篇文章主要为大家详细介绍了iOS实现毛玻璃效果,无需要第三方,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • iOS开发之AssetsLibrary框架使用详解

    iOS开发之AssetsLibrary框架使用详解

    这篇文章主要介绍了iOS开发之AssetsLibrary框架使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • IOS等待时动画效果的实现

    IOS等待时动画效果的实现

    查询时间有长有短,为了增强用户体验度,目前用的比较多的手段之一是查询等待时添加一个动态等待效果,这篇文章主要介绍IOS等待时动画效果的实现,有需要的朋友可以参考下
    2015-08-08
  • iOS自带动画效果的实例代码

    iOS自带动画效果的实例代码

    本文给大家分享ios自带动画效果的实现代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2016-12-12
  • iOS中利用UIBezierPath + CAAnimation实现心跳动画效果

    iOS中利用UIBezierPath + CAAnimation实现心跳动画效果

    这篇文章主要给大家介绍了关于iOS中利用UIBezierPath + CAAnimation实现心跳动画效果的相关资料,文中通过示例代码介绍的非常详细,对大家的日常开发具有一定的参考学习,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10

最新评论