≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > JavaScript

Javascript 原生全屏API的简单示例

人气:532 时间:2018-09-25

这篇文章主要为大家详细介绍了Javascript 原生全屏API的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
HTML 5的<video>是一个相当不错的标签,但是它刚发布的时间,最大的问题是它不能像Flash那样实现真正的全屏。幸好,几个月后,大部分浏览器已经原生地支持全屏。

全屏API简史

第一个原生的全屏接口是在Safari 5.0(和iOS)中添加的 webkitEnterFullScreen() 函数。不过,它只能用于<video>标签。
在Safari 5.1中,苹果修改了这个API使它更接近于Mozilla的全屏API草案(比苹果的实现更早)。现在,所有DOM元素都可以调用 webkitRequestFullScreen() 方法。
Firefox和Chome表示它们将会添加原生全屏API支持,而且这个特性已经在Chome 15+以及Firefox Nightly中实现。
在2011年10月15日,W3C发布了一份全屏API草案(由Opera团队的一名成员编写),它跟Mozilla的草案有两个主要的不同点:

Mozilla/Webkit使用大写字母'S'(FullScreen),但W3C则不是(Fullscreen);
Mozilla/Webkit使用cancelFullScreen,W3C使用exitFullscreen。

理解全屏API

检测全屏支持

首先,你需要使用typeof检测浏览器是否支持全屏API。同时,也要检测一个布尔属性fullScreenEnabled,它会告诉你用户是否启用了全屏特性。 JS代码如下:

/**
 * 原生全屏API
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
// Mozilla草案的API:实际上,你还需要检测其他厂商的前缀
if (typeof document.cancelFullScreen != 'undefined' && document.fullScreenEnabled === true) {
    /* do fullscreen stuff */
}

进入和退出全屏

要进入全屏模式,可以调用该元素的requestFullScreen(或者W3C的 requestFullscreen)方法。。要退出全屏,则调用document对象的cancelFullScreen(或者W3C的exitFullscreen)方法。 JS代码如下:

/**
 * 原生全屏API
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
// mozilla草案
element.requestFullScreen();
document.cancelFullScreen();

// Webkit (works in Safari and Chrome)
element.webkitRequestFullScreen();
document.webkitCancelFullScreen();

// Firefox (works in nightly)
element.mozRequestFullScreen();
document.mozCancelFullScreen();

// W3C
element.requestFullscreen();
document.exitFullscreen();
Mozilla还提供了一个备用的requestFullScreenWithKeys()方法让用户可以通过键盘进入全屏模式。在Flash中,Adobe一直在全屏状态时禁止键盘支持,以防止恶意网站试图窃取密码,但浏览器制造商似乎正考虑使之成为一个可选设置。

全屏事件和当前状态

要检测全屏事件的发生,可以监听元素的fullscreeneventchange事件,而document的布尔属性fullScreen会指明当前是否全屏状态。 JS代码如下:

/**
 * 原生全屏API
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
element.addEventListener('fullscreeneventchange', function(e) {
    if (document.fullScreen) {
        /* make it look good for fullscreen */
    } else {
        /* return to the normal state in page */
    }
}, true);
Mozilla也提到在将来增加一个fullscreendenied事件。另外,Webkit在全屏布尔属性的名字上加了'Is': JS代码如下:

/**
 * 原生全屏API
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
// Mozilla草案
document.fullScreen;

// Firefox (Nightly)
document.mozFullScreen;

// Webkit (Chrome, Safari)
document.webkitIsFullScreen; // 注意多了'Is'

// W3C草案
document.fullscreen;

全屏样式

Mozilla和W3C都提供了新的伪CSS类来装饰元素的全屏模式。 css代码如下:

/**
 * 原生全屏API
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
/* 普通状态 */
.my-container { width: 640px; height: 360px; }

/* Mozilla草案 (有中划线) */
.my-container:full-screen { width:100%; height:100%;}

/* W3C草案 (无中划线) */
.my-container:fullscreen { width:100%; height:100%;}

/* 当前可用的供应商前缀 */
.my-container:-webkit-full-screen,
.my-container:-moz-full-screen { width:100%; height:100%; }

嵌入元素的全屏

当你使用Flash的<object>、<embed>从其他站点嵌入内容(比如一个YouTuBe视频)是,你可以指定是否允许它们全屏。这个特性也通过allowFullScreen属性添加到<iframe>标签。 代码如下:

<!-- 允许使用全屏命令的外部内容 -->
<iframe src="http://anothersite.com/video/123" width="640" height="360" allowFullScreen="allowFullScreen"></iframe>

本文来自:http://www.q1010.com/174/1646-0.html

注:关于Javascript 原生全屏API的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:API

您可能感兴趣的文章

  • PHP 使用飞信API发送免费短信示例
  • php 利用xapian按照数字范围进行检索的简单示例
  • php 的IRC API库的简单示例
  • php 通过ssh传输文件的ssh api类用法示例
  • php 获取网站访问统计信息的类Compete API用法
  • PHP 使用bing搜索网站的api封装类用法
  • php 请求github api 客户端的简单示例
  • PHP+Google Api 获取域名 favicon 图标的简单示例
  • php 通过Google API获取指定地址经纬度的实现方法
上一篇:Javascript获取当前目录绝对路径的简单示例
下一篇:JS使用canvas绘制时钟的简单示例
热门文章
  • js随机生成两位数
  • js 文字超出部分隐藏、点击显示更多示例
  • 原生JS+css 点击查看全文的简单示例(类似今日头条效果)
  • javascript实现文字隐藏、展开收起的简单示例
  • JS 展开/收起按钮显示隐藏文字示例
  • JavaScript 正则判断文本是否含有超链接的简单示例
  • 原生JS实现鼠标悬停图片显示文字的简单示例
  • JS 点击按钮显示更多内容的简单示例
  • 原生js for循环遍历二维数组、嵌套元素的简单示例
  • javascript 浮点数转换成整数三种方法
  • 最新文章
    • js获取时间,处理时间等的实现方法
    • JavaScript 判断小数是否相等的简单示例
    • JavaScript 获取数组极值的简单示例
    • JavaScript防抖 & 节流的简单示例
    • JavaScript深拷贝的简单示例
    • JavaScript数组降维的简单示例
    • JavaScript手机端判断浏览器类型的简单示例
    • JavaScript获取 URL 中的参数的简单示例
    • JavaScript以“天”为单位获取响应的时间戳的简单示例
    • JavaScript时间格式化的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。