网页视频播放的常见兼容方式总结

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

html部分:

javascript:

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

function renderVideo(id) {
var htmlStr = “”;
htmlStr += ‘’;
htmlStr += ‘’;
htmlStr += ‘’;
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 += ‘’;
htmlStr += ‘’;
htmlStr += ‘’;
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”>’;
htmlStr += ‘’;
document.getElementById(id).innerHTML = htmlStr;
}

flag ? renderVideoIE(“videoContainer”) : renderVideo(“videoContainer”);

必要说明:

判断IE等浏览器 :
http://www.jb51.net/article/50464.htm
object中的api:
http://blog.csdn.net/zh_rey/article/details/71080467
w3school关于embed :
http://www.w3school.com.cn/tags/tag_embed.asp
w3school关于video的兼容性
http://www.w3school.com.cn/tags/tag_video.asp
w3school关于object兼容性
http://www.w3school.com.cn/tags/tag_object.asp
object和video分别处理: http://blog.sina.com.cn/s/blog_9c6c4d3b0102w7vn.htm
方式二:使用html5media处理

html部分:

// 直接引用html5media的库

;

// 直接使用video标签来处理

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

必要说明:

https://github.com/etianen/html5media
http://www.cnblogs.com/sun8134/p/4446390.html
http://www.zhangxinxu.com/wordpress/2010/03/every-browser-support-html5-video/

在IE678中,html5media内部使用了flowplayer播放器在处理,有控制播放的各种面板。在现代浏览器中会直接使用video标签来处理。

其他相关链接:

兼容IE8的video.js,可自定义皮肤:http://videojs.com

WFObject播放flash:

http://www.webkfa.com/one2/w1442.html

使用js获取地址栏参数的兼容处理方式:

http://www.jb51.net/article/55057.htm

http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html

作者:Johnny丶me

链接:

https://blog.csdn.net/Tyro_java/article/details/78457129

猜你喜欢

转载自blog.csdn.net/weixin_44767512/article/details/88871017