浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题

 更新时间:2016年10月10日 09:23:35   投稿:jingxian  
下面小编就为大家带来一篇浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

如果你想使一个元素在全屏模式下展现 (比如说 <video>),你可以调用该元素的 requestFullscreen() 方法;这个方法在 Gecko 中的实现是 element.mozRequestFullScreen(),在 WebKit 中为 element.webkitRequestFullscreen()。

比如一个实例:

var elem = document.getElementById("myvideo");
if (elem.requestFullscreen) {
 elem.requestFullscreen();		//IE浏览器
} else if (elem.mozRequestFullScreen) {
 elem.mozRequestFullScreen();			//火狐浏览器
} else if (elem.webkitRequestFullscreen) {
 elem.webkitRequestFullscreen();			//谷歌浏览器
}

运行到这里,Gecko 与 WebKit 两个实现中出现了一个值得注意的区别:Gecko 会为元素自动添加 CSS 使其伸展以便铺满屏幕: "width: 100%; height: 100%"。 WebKit 则不会这么做;它会让全屏的元素以原始尺寸居中到屏幕中央,其余部分变为黑色。为了在 WebKit 下也达到与 Gecko 同样的全屏效果,你需要手动为元素增加 CSS 规则"width: 100%; height: 100%;":

function toggleFullScreen() {
 if (!document.fullscreenElement &&  // alternative standard method
   !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods
  if (document.documentElement.requestFullscreen) {
   document.documentElement.requestFullscreen();
  } else if (document.documentElement.mozRequestFullScreen) {
   document.documentElement.mozRequestFullScreen();
  } else if (document.documentElement.webkitRequestFullscreen) {
   document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
  }
 } else {
  if (document.cancelFullScreen) {
   document.cancelFullScreen();
  } else if (document.mozCancelFullScreen) {
   document.mozCancelFullScreen();
  } else if (document.webkitCancelFullScreen) {
   document.webkitCancelFullScreen();
  }
 }
}

代码首先检查了 document 上的 fullscreenElement 属性(也检查了带 -moz- 与 -webkit- 两个前缀的)。如果该属性为 null,则 document 当前处于窗口模式,所以我们需要切换进全屏模式。可以通过调用 element.mozRequestFullScreen() 或者 webkitRequestFullscreen()来进入全屏模式,具体调用哪个还要看哪个方法可用。

如果已经激活了全屏模式 (fullscreenElement 非空),我们调用 document.mozCancelFullScreen() 或 webkitCancelFullScreen(),同样要依赖于我们使用了哪个浏览器。

以上就是小编为大家带来的浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题全部内容了,希望大家多多支持脚本之家~

相关文章

  • JS实现获取毫秒值及转换成年月日时分秒的方法

    JS实现获取毫秒值及转换成年月日时分秒的方法

    这篇文章主要介绍了JS实现获取毫秒值及转换成年月日时分秒的方法,结合实例形式分析了javascript常见的Date()日期时间获取、转换相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • JS delegate与live浅析

    JS delegate与live浅析

    这篇文章主要介绍了JS delegate与live,有需要的朋友可以参考一下
    2013-12-12
  • JScript 脚本实现文件下载 一般用于下载木马

    JScript 脚本实现文件下载 一般用于下载木马

    脚本实现文件下载,这个是jscript的,脚本之家以前曾发布vbscript版本的,原理一样的。
    2009-10-10
  • json对象与数组以及转换成js对象的简单实现方法

    json对象与数组以及转换成js对象的简单实现方法

    下面小编就为大家带来一篇json对象与数组以及转换成js对象的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • ie 调试javascript的工具

    ie 调试javascript的工具

    其实,没那么强大的,不过,聊胜于无吧,并且还算管用,要是有谁再完善它就好了……
    2009-04-04
  • web打印小结

    web打印小结

    本文主要介绍了一款比较强大的web打印工具lodop实现将winform客户端的打印,移到网页上由客户自行打印,打印要求是根据一定的格式实现套打的过程与方法。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 将HTML格式的String转化为HTMLElement的实现方法

    将HTML格式的String转化为HTMLElement的实现方法

    本节主要介绍了将HTML格式的String转化为HTMLElement的实现方法,需要的朋友可以参考下
    2014-08-08
  • javascript遍历对象的五种方式实例代码

    javascript遍历对象的五种方式实例代码

    在我们日常工作过程中,我们对于javaScript遍历对象、数组的操作是十分的频繁的,这篇文章主要给大家介绍了关于javascript遍历对象的五种方式,需要的朋友可以参考下
    2021-10-10
  • js prototype和__proto__的关系是什么

    js prototype和__proto__的关系是什么

    这篇文章主要介绍了js prototype和__proto__的关系是什么,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • JavaScript获取网页表单action属性的方法

    JavaScript获取网页表单action属性的方法

    这篇文章主要介绍了JavaScript获取网页表单action属性的方法,涉及javascript操作表单属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04

最新评论