Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 3.44 KB

6.md

File metadata and controls

81 lines (63 loc) · 3.44 KB

在做一些项目时,项目需求竟然要兼容IE6, 一开始并没有合适的解决方案,后来查看了优酷的处理方式,这是一种好的方式,根据不同的浏览器来使用video或object, 我们都知道object的兼容性很好,但是很老,下面我们来进行总结一下:

方式一:根据浏览器判断使用不同的标签处理

html部分

<div id="videoContainer"></div>

javascript

var flag = !-[1,]; // 原理是利用了IE6,7,8与标准浏览器在处理数组的toString方法的差异做成的。
var videoSource = "your-video-url.mp4";

function renderVideo(id) {
  var htmlStr = "";
  htmlStr += '<video width="300" height="200" controls autobuffer>';
  htmlStr += '<source src=' + videoSource + ' type="video/mp4">';
  htmlStr += '</video>';
  document.getElementById(id).innerHTML = htmlStr;
}

function renderVideoIE(id) {
  var htmlStr = "";
  htmlStr += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
  htmlStr += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
  htmlStr += 'width="300" height="200">';
  htmlStr += '<param name="movie" value="flvplayer.swf"/>';
  htmlStr += '<param name="quality" value="high"/>';
  htmlStr += '<param name="allowFullScreen" value="true"/>';
  htmlStr += '<param name="FlashVars"';
  htmlStr += 'value="vcastr_file=' + videoSource + '&LogoText=description&BufferTime=3&IsAutoPlay=0">';
  htmlStr += '<embed src="flvplayer.swf" allowfullscreen="true"';
  htmlStr += 'flashvars="vcastr_file='+ videoSource +'&IsAutoPlay=0';
  htmlStr += 'quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"';
  htmlStr += 'type="application/x-shockwave-flash" width="700" height="400"></embed>';
  htmlStr += '</object>';
  document.getElementById(id).innerHTML = htmlStr;
}

flag ? renderVideoIE("videoContainer") : renderVideo("videoContainer");

必要说明:

方式二:使用html5media处理

html部分:

// 直接引用html5media的库
<script src="https://api.html5media.info/1.1.8/html5media.min.js"></script>
// 直接使用video标签来处理
<video src="your-video-url.mp4" width="300" height="200" controls autobuffer></video>

使用这个控件尝试在高版本的IE模拟器下奏效,但在在实际的IE6下播放存在问题。

必要说明:

其他相关链接: