背景视频,视频全屏,铺满,解决object-fit:fill在ie浏览器上不兼容问题

之前做个项目的时候,碰到了视频全屏的一个问题,刚开始真的是绞尽脑计,为什么会这样能,全都因为object-fit:fill属相在ie上完全不兼容,连ie11都不识别,万恶的ie,先看下视频在主流浏览器和ie浏览器下的效果

主流浏览器下:

e浏览器下

没有对比就没有伤害:


使用object-fit:fill在主流浏览器上可以铺满全屏,在ie上完全罢工,在ie上侧边有黑色区域,也就是说视频并没有铺满


在此过程中找了太多办法:


比如 引入html5.js,video.js发现都没用, 后来找到个勉强可以说是全屏的办法,就是video样式写上


width: auto;height: auto;


min-width: 100%;


min-height: 100%;


但是你会发现,虽然全屏了,但不能自适应屏幕变化,那有个卵用,继续找办法,


后来我在张鑫旭博客里看到他介绍object-fit属性并附带ie兼容办法,本以为问题终于得到解决了,他的办法就是引入一个叫做polyfill.js的插件,这个插件支持ie兼容object-fit属性,万万没想到的是这个插件只支持图片img,对视频video还是不起作用,惨,怎么办呢,天无绝人之路,上帝给你关闭一扇窗就必定会打开另一道窗,最后终于在githua上找到了一个叫做bideo.js的插件,这插件竟能在ie上完美实现视频全屏铺满,下面是用法


先引入bideo.js   <script src="bideo.js"></script>   ,引用代码如下

<script src="bideo.js"></script>
<script>
      var bv = new Bideo(); //新建一个 Bideo实例
  bv.init({
 
    videoEl: document.querySelector('#video'), //这个是video标签,放视频链接的地方
 
    container: document.querySelector('.video_wrap'), //这个是video的父元素,
 
    resize: true,//视频是否随着窗口变化而变化,必须是true;
 
    isMobile: window.matchMedia('(max-width: 768px)').matches, //在移动端这个是多大范围开始;
 
    src: [//视频地址,一个数组,可以放多个视频链接地址
      {
        src: 'night.mp4',
        type: 'video/mp4'
      }
    ],
 
    onLoad: function () {
      document.querySelector('.video_cover').style.display = 'none';//视频加载后隐藏碰面图片
    }
  });
</script>

bideo.js 的githua地址https://github.com/rishabhp/bideo.js

落魄前端-小陈
0
0
1
评论
浏览
收藏