项目中遇到的一些小问题记录

  1. video禁止画中画
    video标签添加ref='video'
    vue代码中添加this.$refs.video['disablePictureInPicture'] = true;

  2. 去掉video的control控制条中的全屏按钮:css设置

    video::-webkit-media-controls-fullscreen-button {            
    	display: none;
    }
    
  3. 获取video原始宽高

    var video = document.querySelector('video');
    video.addEventListener('canplay', function () {
        this.width = this.videoWidth;
        this.height = this.videoHeight;
    });
    

    videoWidth 和 videoHeight 属性为视频真实宽高,这两个属性为只读属性,赋值不会生效;

width 和 height 属性为视频在页面上显示的尺寸,可以在元素设置或JS赋值;
width 和 height 属性优先级低于样式,同时使用样式和属性设置宽高,最后生效的是样式;
  1. video标签已经设置poster封面了,点击播放完就没有封面了
    添加ended事件重置下src就行了
     var v = document.getElementsByTagName('video')[0];
        v.addEventListener('ended', function () {
            this.src = "http://img.youguoquan.com/uploads/crowd/videos/2017/07/28/8a5852432f0d496964240b1f41aa3ab9.MP4"
        }, false);
    
  2. 全屏和取消全屏
    requestFullscreen(ele) {// ele为要设置成全屏的元素,可为div或video或其他元素
          if (ele.requestFullscreen) {
              ele.requestFullscreen();
          } else if (ele.webkitRequestFullscreen) {
              ele.webkitRequestFullscreen();
          } else if (ele.mozRequestFullScreen) {
              ele.mozRequestFullScreen();
          } else if (ele.msRequestFullscreen) {
              ele.msRequestFullscreen();
          }
      },                   
      // 取消全屏
      exitFullscreen() {
          if (document.exitFullscreen) {
              document.exitFullscreen();
          } else if (document.webkitExitFullscreen) {
              document.webkitExitFullscreen();
          } else if (document.msExitFullscreen) {
              document.msExitFullscreen();
          } else if (document.mozCancelFullScreen) {
              document.mozCancelFullScreen();
          }
      }
    
  3. 判断当前是否在全屏状态
    isFullScreen () {
       return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen
    },
    
  4. 在全屏元素上覆盖别的元素(如弹幕)
    webkit内核在全屏元素上会设置z-index: 2147483647(最大值)
    如果要在其上加别的按钮,就将别的按钮设置z-index: 2147483647
  5. 监听全屏改变事件
    document.addEventListener("fullscreenchange", () => {
      that.isFull = !that.isFull;
    });
    document.addEventListener("mozfullscreenchange", () => {
      that.isFull = !that.isFull;
    });
    document.addEventListener("webkitfullscreenchange", () => {
      that.isFull = !that.isFull;
    });
    document.addEventListener("msfullscreenchange", () => {
      that.isFull = !that.isFull;
    });
    
    
  6. 浏览器禁止长按出菜单
    body添加oncontextmenu="forbidMenu()"
    在js中添加
    function forbidMenu(){
        window.event.returnValue=false;  
        return false;  
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值