H5页面中 video 标签的属性和样式

关于 标签的 css 样式

    //全屏按钮
    video::-webkit-media-controls-fullscreen-button {
        display: none;
    }
    //播放按钮
    video::-webkit-media-controls-play-button {
        display: none;
    }
    //进度条
    video::-webkit-media-controls-timeline {
        display: none;
    }
    //观看的当前时间
    video::-webkit-media-controls-current-time-display{
        display: none;            
    }
    //剩余时间
    video::-webkit-media-controls-time-remaining-display {
        display: none;            
    }
    //音量按钮
    video::-webkit-media-controls-mute-button {
        display: none;            
    }
    video::-webkit-media-controls-toggle-closed-captions-button {
        display: none;            
    }
    //音量的控制条
    video::-webkit-media-controls-volume-slider {
        display: none;            
    }
    //所有控件
    video::-webkit-media-controls-enclosure{ 
        display: none;
    }

内置属性

<video id="video" 
     class="video"
     src:"" /**视频路径*/
     width="100%"
     controlslist="nodownload" /**禁止出现下载视频按钮*/
     poster=“https://s2.ax1x.com/2019/08/29/mLSqD1.jpg”  /*视频封面图*/
    height="240px"  /*如果有封面,请设置高度*/
     controls  /*这个属性规定浏览器为该视频提供播放控件*/  
     style="object-fit:fill"  /*加这个style会让 Android / web 的视频在微信里的视频全屏,如果是在手机上预览,会让视频的封面同视频一样大小*/
     webkit-playsinline="true"  /*这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放*/  
     x-webkit-airplay="true"  /*这个属性还不知道作用*/ 
     playsinline="true"  /*IOS微信浏览器支持小窗内播放*/ 
     x5-video-player-type="h5" /*启用H5播放器,是wechat安卓版特性*/
     x5-video-orientation="h5" /*播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏*/
     x5-video-player-fullscreen="true" /*全屏设置,设置为 true 是防止横屏*/
     preload="auto" /*这个属性规定页面加载完成后载入视频*/ 
</video>

最近一直在处理video标签在IOS和Android端的兼容问题,
1.获取视频的第一帧作为背景图; 技术:canvas绘图

window.onload = function(){
   var video = document.getElementById('video');
   //使用严格模式
   'use strict';
   //第一帧图片与原视频的比例
   var scal = 0.8;
   //监听页面加载事件
   video.addEventListener('dataLoad',function(){
     //创建一个画布
     var canvas = document.createElement('canvas');
     canvas.width = video.style.width*scal;
     canvas.height = video.style.height*scal;
     //绘制图片
     canvas.getContentext('2d').drawImage(video,0,0,canvas.width,canvas.height);
     //设置标签的poster属性
     viseo.setAttribute("poster",canvas.toDataURL("image/png"));
     
   });
}

2.禁止安卓手机自动全屏
video标签在安卓系统下,默认全屏,通过添加属性可以禁止全屏,

x5-playsinline=“true”,切记添加该属性后不能再有x5-video-player-type=‘h5’ x5-video-player-fullscreen=‘true’,否则还会默认全屏

3.播放视频时,不能完全覆盖的问题

此时需要给video标签添加style样式

width:100%;height:100%;object-fit:fill;

此外,video标签的父元素应该设置宽高:width:100%;height:100%;

上一篇:mapbox去除logo控件和attribution控件


下一篇:css踩坑之calc无效问题