所谓Full Screen API,就是全屏API,在html5中,该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。这款API十分简单有用,是html5初学者必须掌握的一款API,今天小编就为大家分享分享这款API的具体使用方法。

Full Screen 的介绍

FullScreen API使用非常简单,在html5中,共有两种模式,分别是:

Launching Fullscreen Mode 启动全屏模式

// 找到适合浏览器的全屏方法  function launchFullScreen(element) {

if(element.requestFullScreen) {

element.requestFullScreen();

} else if(element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if(element.webkitRequestFullScreen) {

element.webkitRequestFullScreen();

}

}

// 启动全屏模式

launchFullScreen(document.documentElement); // the whole page

launchFullScreen(document.getElementById("videoElement")); // any individual element

Exit FullScreen Mode 退出全屏模式

// Whack fullscreenfunction exitFullscreen() {

if(document.exitFullscreen) {

document.exitFullscreen();

} else if(document.mozCancelFullScreen) {

document.mozCancelFullScreen();

} else if(document.webkitExitFullscreen) {

document.webkitExitFullscreen();

}

}

// Cancel fullscreen for browsers that support it!

exitFullscreen();

Full Screen 的相关属性和事件

虽然,Full ScreenAPI简单易用,但目前 仍存在兼容的问题,许多能使用的浏览器仍需要在其相应的属性和事件加相关的前缀。

【document.fullScreenElement】 该属性表示启动全屏的元素(如 video这些)

【document.fullScreenEnabled】 该属性表示当前是否全屏

【fullscreenchange 事件】 监听全屏状态改变的事件

2.2 Full Scrren 相关的css属性

众所周知,说到html,就不得不提css,而fullscreen API 中也有一些关于的css属性:

:-webkit-full-screen,

:-moz-full-screen,

:-ms-fullscreen,

:full-screen {

/*pre-spec */

/* properties */

}

:fullscreen {

/* spec */

/* properties */

}

/* deeper elements */:-webkit-full-screen video {

width: 100%;

height: 100%;

}

/* styling the backdrop*/::backdrop {

/* properties */

}

::-ms-backdrop {

/* properties */

}

结束语

在屏幕大小有限的移动端,全屏功能显得异常重要,虽然现目前Full Screen API还存在一些兼容问题,但相信这些问题肯定很快会找到解决办法,且这个API肯定也会成为移动互联网时代最常用的API之一。

相关文章:《Web前端之jQuery 的10大操作技巧

html5常用API之Full Screen的更多相关文章

  1. HTML5常用API

    .Fullscreen 该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序. .Page Visibility 该API可以用来检测页面对于用户的可见性,即返回用户 ...

  2. html5 canvas常用api总结(一)

    1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...

  3. HTML5 程序设计 - 使用HTML5 Canvas API

    请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...

  4. HTML5 File api 实现断点续传

    目前市场上大多数的网站的断点上传都是需要安装浏览器插件的,本文就针对高级浏览器的环境下,通过HTML5 File api实现断点上传进行说明 一.实现文件多选 HTML5的<input>新 ...

  5. gulp的常用api

    gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...

  6. HTML5 file api读取文件的MD5码工具

    1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...

  7. 转: html5 history api详解~很好的文章

    从Ajax翻页的问题说起 请想象你正在看一个视频下面的评论,在翻到十几页的时候,你发现一个写得稍长,但非常有趣的评论.正当你想要停下滚轮细看的时候,手残按到了F5.然后,页面刷新了,评论又回到了第一页 ...

  8. HTML5 Storage API

    原文:HTML5 Storage API Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多. 在 ...

  9. 老李分享:robotium常用API 1

    老李分享:robotium常用API   robotium常用API Robotium中最重要的类Solo类:其中提供了模拟用户活动的点击.搜索.拖拽等方法. 英文api(经常断开连接打不开):htt ...

随机推荐

  1. js的解析--预处理(三)

    js的解析与执行过程  分全局  {预处理阶段和执行阶段}  函数{预处理函数和执行阶段}   1/创建词法环境(环境上下文) LexicalEnvironment   === window { } ...

  2. 窗体移动API

    //窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport ...

  3. 【Java】List集合按数量分组

    有时候,我们需要将大的集合按指定的数量分割成若干个小集合.(比如:集合作为SQL中IN的参数,而SQL又有长度限制,所以需要分批分几次进行查询) 虽然此需求感觉不常见,但偶也写过几次类似的方法,故记录 ...

  4. 使用VS2010开发Qt程序的一点经验(转载)

    转载:http://www.cnblogs.com/csuftzzk/p/VS_Qt_Experience.html 导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相 ...

  5. SqlSever基础 union 与 union all的区别,即 重复项是否全部显示

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  6. 编写Music类

    package a; public class Instrument { public void play() { System.out.println("弹奏乐器"); } } ...

  7. (1)建立一个名叫Cat的类: 属性:姓名、毛色、年龄 行为:显示姓名、喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输 出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

    package lianxi; public class Cat { String Name, Color; int Age; void getName() { System.out.println( ...

  8. nodejs链接mysql数据库,执行简单的增删改查操作

    var mysql = require('mysql'); var conn = mysql.createConnection({ host: 'localhost', user: 'root', p ...

  9. linux下的基本网络配置

    第一种:使用命令修改(直接即时生效,重启失效)#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up说明:eth0是第一个网卡,其他依次为eth1,et ...

  10. thinkphp的自动完成功能说明

    手册里有一句话很关键: 自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理. 这句话说明自动完成发生的时间是create()组建数 ...