• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    HTML5 video播放器全屏(fullScreen)方法实例

    首先来说,这个标题具有误导性,但这样设置改标题也是主要因为video使用的比较多

    在html5中,全屏方法可以适用于很多html 元素,不仅仅是video

    复制代码
    代码如下:

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>全屏问题</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta http-equiv="imagetoolbar" content="no"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <style type="text/css">
    *{
    padding: 0px;
    margin: 0px;
    }

    body div.videobox{
    width: 400px;
    height: 320px;
    margin: 100px auto;
    background-color:#000;
    }

    body div.videobox video.video
    {
    width: 100%;
    height: 100%;
    }

    :-webkit-full-screen {

    }

    :-moz-full-screen {

    }

    :-ms-fullscreen {

    }

    :-o-fullscreen {

    }

    :full-screen {

    }

    :fullscreen {

    }

    :-webkit-full-screen video {
    width: 100%;
    height: 100%;
    }
    :-moz-full-screen video{
    width: 100%;
    height: 100%;
    }
    </style>
    </head>
    <body>


    <div id="videobox">

    <video controls="controls" preload="preload" id="video" poster="poster.jpg">
    <source src="./movie.ogg" type="video/ogg" />
    <source src="./movie.mp4" type="video/mp4" />
    <source src="./movie.webm" type="video/webm" />
    <object data="./movie.mp4" width="100%" height="100%">
    <embed width="100%" height="100%" src="./movie.swf" />
    </object>

    </video>
    <button id="fullScreenBtn">全屏</button>
    </div>


    <script type="text/javascript">

    //反射調用
    var invokeFieldOrMethod = function(element, method)
    {
    var usablePrefixMethod;
    ["webkit", "moz", "ms", "o", ""].forEach(function(prefix) {
    if (usablePrefixMethod) return;
    if (prefix === "") {
    // 无前缀,方法首字母小写
    method = method.slice(0,1).toLowerCase() + method.slice(1);
    }
    var typePrefixMethod = typeof element[prefix + method];
    if (typePrefixMethod + "" !== "undefined") {
    if (typePrefixMethod === "function") {
    usablePrefixMethod = element[prefix + method]();
    } else {
    usablePrefixMethod = element[prefix + method];
    }
    }
    });

    return usablePrefixMethod;
    };

    //進入全屏
    function launchFullscreen(element)
    {
    //此方法不可以在異步任務中執行,否則火狐無法全屏
    if(element.requestFullscreen) {
    element.requestFullscreen();
    } else if(element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
    } else if(element.msRequestFullscreen){
    element.msRequestFullscreen();
    } else if(element.oRequestFullscreen){
    element.oRequestFullscreen();
    }
    else if(element.webkitRequestFullscreen)
    {
    element.webkitRequestFullScreen();
    }else{

    var docHtml = document.documentElement;
    var docBody = document.body;
    var videobox = document.getElementById('videobox');
    var cssText = 'width:100%;height:100%;overflow:hidden;';
    docHtml.style.cssText = cssText;
    docBody.style.cssText = cssText;
    videobox.style.cssText = cssText+';'+'margin:0px;padding:0px;';
    document.IsFullScreen = true;

    }
    }
    //退出全屏
    function exitFullscreen()
    {
    if (document.exitFullscreen) {
    document.exitFullscreen();
    } else if (document.msExitFullscreen) {
    document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
    } else if(document.oRequestFullscreen){
    document.oCancelFullScreen();
    }else if (document.webkitExitFullscreen){
    document.webkitExitFullscreen();
    }else{
    var docHtml = document.documentElement;
    var docBody = document.body;
    var videobox = document.getElementById('videobox');
    docHtml.style.cssText = "";
    docBody.style.cssText = "";
    videobox.style.cssText = "";
    document.IsFullScreen = false;
    }
    }
    document.getElementById('fullScreenBtn').addEventListener('click',function(){
    launchFullscreen(document.getElementById('video'));
    window.setTimeout(function exit(){
    //檢查瀏覽器是否處於全屏
    if(invokeFieldOrMethod(document,'FullScreen') || invokeFieldOrMethod(document,'IsFullScreen') || document.IsFullScreen)
    {
    exitFullscreen();
    }
    },5*1000);
    },false);

    </script>
    </body>

    </html>

    上一篇:HTML5 video标签(播放器)学习笔记(二):播放控制
    下一篇:html5+css3气泡组件的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    HTML5 video播放器全屏(fullScreen)方法实例 HTML5,video,播放器,全屏,fullScreen,