兼容windows、mac的视频播放
2016-04-13 11:08
204 查看
1、windows和mac下video的区别
在windows浏览器下播放视频,基本上都是可以用embed标签去解决,嵌套一个swf的外壳就可以实现视频的播放(我这里选择ckplayer的swf外壳,它里面提供了js,我这里只用把embed里面的代码拷出来,然后player文件夹下面的内容加载一下就可以了,没必要加载js)在mac下,不支持swf或者提示要安装flash插件,这里采用video即可
2、代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>视频播放</title> </head> <body> <embed allowscriptaccess="always" allowfullscreen="true" quality="high" bgcolor="#FFF" wmode="transparent" src="ckplayer/ckplayer.swf" flashvars="f=../FrontEnd.mp4&c=0&b=1" width="600" height="400" align="left" type="application/x-shockwave-flash"> <script> var userAgent = navigator.userAgent.toLowerCase(); if (/safari/.test(userAgent) && /mac/.test(userAgent)) { var domEmbeds = document.getElementsByTagName('embed'); for (var i = 0; i < domEmbeds.length; i++) { var domEmbed = domEmbeds[i]; var sFlashvars = domEmbed.getAttribute('flashvars'), sUrl = sFlashvars.substring(2, sFlashvars.indexOf('&')), sWidth = domEmbed.getAttribute('width'), sHeight = domEmbed.getAttribute('height'), sAlign = domEmbed.getAttribute('align'); var domVideo = document.createElement('video'); domVideo.setAttribute('width', sWidth); domVideo.setAttribute('height', sHeight); domVideo.setAttribute('align', sAlign); domVideo.setAttribute('controls', 'controls'); domVideo.setAttribute('autoplay', 'autoplay'); var domSource = document.createElement('source'); domSource.setAttribute('src', sUrl); domSource.setAttribute('type', 'video/mp4'); domVideo.appendChild(domSource); domEmbed.parentNode.insertBefore(domVideo, domEmbed); domEmbed.parentNode.removeChild(domEmbed); } } </script> </body> </html>
3、Github代码地址
https://github.com/cangowu/player相关文章推荐
- cv1.6hist直方图操作
- U-boot分析与移植(5)----U-boot移植
- memcache适用和不适用场景总结
- js数组添加或删除元素
- 根据不同分辨率加载不同 css 样芪表
- 如何实现高效的事件管理?
- Python 进阶 —— 使用 map reduce
- 使用ScrollView属性fillViewport解决android布局不能撑满全屏的问题
- 移动端Flex 布局新旧混合兼容
- Java中List集合被大家忽略的一个问题
- 排序算法---冒泡排序
- 析构函数的调用顺序
- U-boot分析与移植(4)-U-boot 添加命令
- 利用pod trunk发布程序,让你的项目可以被pod search
- 线程创建方式
- java 获取classpath下文件多种方式
- linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析(引用)
- Hql处理日期格式化问题
- maven 下载的包发布到本地仓库中
- break ,continue ,return 的区别及作用?