LivePlayer H5播放器
兼容性:谷歌/火狐/IE11
安装: npm install @liveqing/liveplayer
或:下载安装包
video.js
使用 videojs 可以兼容低版本 IE 浏览器。官方 git
IE 9-10
引入:
- video.min.js:video.js的主要库文件
- video-js.min.css :样式
IE 8 的问题
需要额外引入:
- videojs-ie8.min.js: 兼容IE8的video标签所需要的文件,在video的5.8版本里可以找到
- video-js.swf:兼容IE8所需。当IE8时,MP4等会转为swf文件用flash进行播放。
下载
基本配置
head
1 | <head> |
注意:由于是在 iframe 中播放 video,jquery 资源已经引入;否则,需要再引入 jquery 资源,建议使用 1.11.1 版本(IE8 下测试可行)。
body
1 | <body> |
其中“plugins/video-js-5.18.4”下的资源注意对应实际位置。
IE 的坑
VUE 打包添加 babel-polyfill 兼容 IE11
1、 npm 下载 babel-polyfill
2、 webpack 的 entry 中,配置中添加 babel-polyfill,如:
1 | {vManager: [ |
3、 main.js 第一行添加 import 'babel-polyfill';
判断浏览器是否低于 IE11
1 | var isUnderIE11 = false; |
兼容 IE9 以下浏览器
1 | <!--[if lt IE 9]> |
placeholder 不生效
1 | <!--[if lt IE 9]> |
注:这里的 placeholder 实际上修改了 val,如果在 input 标签未输入时,调用 $(‘input’).val(),则会输出 placeholder 的值,注意进行判断。
IE 9 及以下 ajax 跨域问题
引入资源文件:
1 | <!--[if lt IE 9]> |
js:
1 | //解决低版本 IE 跨域问题 |
IE8:0 开头的数字自动按八进制处理 :)
1 | var ssrc = res.ssrc; |
IE 8/9 console.log 缺失
1 | if(!window.console){ |
IE 对 CSS 中 :active 伪类兼容性问题
这个问题发生在 11 及以下版本的 IE。
点击级联元素的子元素,使其 :active 时,不能正常使父元素 :active,需要用 jquery 绑定 onmousedown 与 onmuserup 事件,分别 addClass(‘active’)、removeClass(‘active’)。