zoukankan      html  css  js  c++  java
  • HTML5 API详解(1):fullscreen全屏模式

    fullscreen API 接口

    属性1:fullscreenElement 该属性返回当前处于全屏模式的DOM元素。

    属性2:fullscreenEnabled 该属性返回当前 document 是否进入了可以请求全屏模式的状态。

    方法1:requestFullscreen() 请求进入全屏模式。

    方法2:exitFullscreen() 退出全屏模式。

    事件1:fullscreenchange 进入/退出全屏模式切换时会触发。

    事件2:fullscreenerror 进入/退出全屏模式失败时会触发。

    由于fullscreen API 存在浏览器兼容性问题,所以我们在使用的时候需要进行跨浏览器处理,参考代码:

    跨浏览器返回正处于全屏的元素

    function fullscreenElement(){

    var fullscreenEle = document.fullscreenElement ||

    document.mozFullScreenElement ||

    document.webkitFullscreenElement;

    //注意:要在用户授权全屏后才能获取全屏的元素,否则 fullscreenEle为null

    console.log("全屏元素:"+fullscreenEle);

    return fullscreenEle;

    }

    跨浏览器返回当前 document 是否进入了可以请求全屏模式的状态

    function fullscreenEnable(){

    var isFullscreen = document.fullscreenEnabled ||

    window.fullScreen ||

    document.webkitIsFullScreen ||

    document.msFullscreenEnabled;

    //注意:要在用户授权全屏后才能准确获取当前的状态

    if(isFullscreen){

    console.log('全屏模式');

    }else{

    console.log('非全屏模式');

    }

    }

    跨浏览器发动全屏

    function lanchFullscreen(element){

    if(element.requestFullscreen){

    element.requestFullscreen();

    }

    else if(element.mozRequestFullScreen){

    element.mozRequestFullScreen();

    }

    else if(element.msRequestFullscreen){

    element.msRequestFullscreen();

    }

    else if(element.webkitRequestFullscreen){

    element.webkitRequestFullScreen();

    }

    }

    跨浏览器退出全屏

    function exitFullscreen(){

    if(document.exitFullscreen){

    document.exitFullscreen();

    }

    else if(document.mozCancelFullScreen){

    document.mozCancelFullScreen();

    }

    else if(document.msExitFullscreen){

    document.msExiFullscreen();

    }

    else if(document.webkitCancelFullScreen){

    document.webkitCancelFullScreen();

    }

    }

    各浏览器fullscreenchange 事件处理

    document.addEventListener('fullscreenchange', function(){ /*code*/ });

    document.addEventListener('webkitfullscreenchange', function(){ /*code*/});

    document.addEventListener('mozfullscreenchange', function(){ /*code*/});

    document.addEventListener('MSFullscreenChange', function(){ /*code*/});

    各浏览器fullscreenerror 事件处理

    document.addEventListener('fullscreenerror', function(){ /*code*/ });

    document.addEventListener('webkitfullscreenerror', function(){ /*code*/});

    document.addEventListener('mozfullscreenerror', function(){ /*code*/);

    document.addEventListener('MSFullscreenError', function(){ /*code*/ });

    跨浏览器全屏模式下样式代码

    :-webkit-full-screen { }

    :-moz-full-screen { }

    :-ms-fullscreen { }

    :fullscreen { }

    本文转自另一位园主铭绘,原文链接https://www.cnblogs.com/minghui007/p/5601194.html

  • 相关阅读:
    Linux从入门到入门到入门(一)
    计算机网络学习笔记
    计算机网络学习笔记
    c语言数据结构学习心得——排序
    c语言数据结构学习心得——查找
    adb 命令小结
    软件测试之面试题分享
    关于app启动时间测试的小思考
    软件缺陷
    黑盒测试,白盒测试
  • 原文地址:https://www.cnblogs.com/GeniusZ/p/13152657.html
Copyright © 2011-2022 走看看