layer弹出层中H5播放器全屏出错的解决方法


Posted in Javascript onFebruary 21, 2017

1.

在layer弹窗组件中

如果使用了flash播放器,全屏是正常的

但若使用了HTML5的播放器,全屏失效

举个栗子

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
 <script src="layer/layer.js"></script>
 <style>
 </style>
</head>
<body>
<h1>我是字</h1>
<div id="box">
<video id="video" controls preload="auto" width="400px" height="300px">
 <source src="http://movie.ks.js.cn/flv/other/1_0.mp4" type="video/mp4">
</video>
</div>
<script>
 layer.open({
 type: 1,
 title: false,
 shadeClose: true,
 area: ['400px', '350px'],
 content: $('#box'),
 success: function(layero){
 }
 });
</script>
</body>
</html>

layer弹出层中H5播放器全屏出错的解决方法

layer弹出层中H5播放器全屏出错的解决方法

可以看到全屏不正常了

通过调试发现是这个class的处理影响了全屏的展示

layer弹出层中H5播放器全屏出错的解决方法

layer弹出层中H5播放器全屏出错的解决方法

layer弹出层中H5播放器全屏出错的解决方法

所以,目前的解决办法是在layer层创建之后,移除这个class即可(注意在success回调中置于下一轮事件循环)

layer.open({
 type: 1,
 title: false,
 shadeClose: true,
 area: ['400px', '350px'],
 content: $('#box'),
 success: function(layero){
  console.log(layero)
  // hack处理layer层中video播放器全屏样式错乱问题
  setTimeout(function() {
  // $(layero).removeClass('layer-anim');
  }, 0);
 }
 });

layer弹出层中H5播放器全屏出错的解决方法

2.

video标签的poster属性指代视频未播放前放置的一张图片

如果video容器宽高小于等于poster图的宽高,则图片能充满容器,反之容器左右就会预留黑色栏

除了手动更换一张大图之外,可以结合CSS来控制,实现铺满

举个栗子

layer弹出层中H5播放器全屏出错的解决方法

<div id="box">
 <video id="video" controls preload="auto" width="700" height="300" poster="../poster.png" >
  <source src="http://movie.ks.js.cn/flv/other/1_0.mp4" type="video/mp4">
 </video>
</div>

现在图片宽度比容器小,没铺满,参考这里的讨论 可以用CSS让其撑开(这里相当于放大了,不想放大需自行更换大图)

poster里放一个透明图片(这里使用了一个1px*1px的base64格式透明图片),再用css定义video的background并将其覆盖住

<div id="box">
 <video id="video" controls preload="auto" width="700" height="300" poster="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" >
  <source src="http://movie.ks.js.cn/flv/other/1_0.mp4" type="video/mp4">
 </video>
</div>
video {
  background: transparent url('../poster.png') no-repeat 0 0; 
  -webkit-background-size: cover; 
   -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
 }

layer弹出层中H5播放器全屏出错的解决方法

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
js获取当前路径的简单示例代码
Jan 08 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
详解jQuery中的deferred对象的使用(一)
May 27 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
js HTML5上传示例代码完整版
Oct 10 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
vuex实现的简单购物车功能示例
Feb 13 Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
微信小程序 支付功能开发错误总结
Feb 21 #Javascript
微信小程序 点击控件后选中其它反选实例详解
Feb 21 #Javascript
jquery实现下拉框左右选择功能
Feb 21 #Javascript
jquery实现页面加载效果
Feb 21 #Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 #Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 #Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 #Javascript
You might like
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python清除字符串里非数字字符的方法
2015/07/02 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
自主实习接收函
2014/01/13 职场文书
环保口号大全
2014/06/12 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
教师自荐信范文
2015/03/06 职场文书
紧急通知
2015/04/17 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
数学复习课教学反思
2016/02/18 职场文书
iPhone13再次曝光
2021/04/15 数码科技
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript
python使用BeautifulSoup 解析HTML
2022/04/24 Python