zoukankan      html  css  js  c++  java
  • video视频点击全屏播放设置

    // 反射調用
    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('video');
        var cssText = '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('video');
        docHtml.style.cssText = "";
        docBody.style.cssText = "";
        videobox.style.cssText = "";
        document.IsFullScreen = false;
      }
    }
    document.getElementById('video_play').addEventListener('click',function(){
      launchFullscreen(document.getElementById('video'));
      window.setTimeout(function exit(){
        //檢查瀏覽器是否處於全屏
        if(invokeFieldOrMethod(document,'FullScreen') || invokeFieldOrMethod(document,'IsFullScreen') || document.IsFullScreen){
          exitFullscreen();
        }
      },5*1000);
    },false);

  • 相关阅读:
    .net core 项目发布IIS
    .net core 项目连接SQL SERVER数据库报错provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error
    网络通讯五层架构入门
    TCP协议学习笔记
    路由器和交换机入门随笔
    互联网通讯的过程
    无论做什么行业,都要有自己的积累!
    C#使用sqlserver2005自动创建数据表和自动添加某个字段索引
    c# treeview在指定名称下添加节点
    测试的行业选择
  • 原文地址:https://www.cnblogs.com/Jason-qiang/p/8629076.html
Copyright © 2011-2022 走看看