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 相关文章推荐
js的event详解。
Sep 06 Javascript
asp 取文本框名称代码
Dec 02 Javascript
利用javascript数组长度循环数组内所有元素
Dec 27 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
JS常用函数使用指南
Nov 23 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
微信小程序中wxs文件的一些妙用分享
Feb 18 Javascript
angular4实现带搜索的下拉框
Mar 25 Javascript
微信小程序 支付功能开发错误总结
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性能优化的介绍
2013/06/20 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
PHP children()函数讲解
2019/02/03 PHP
什么是JavaScript
2009/08/13 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
Python实现定时任务
2017/02/08 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
python实现简单的文字识别
2018/11/27 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
python按比例随机切分数据的实现
2019/07/11 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
师范教师毕业鉴定
2014/01/13 职场文书
关于迟到的检讨书
2014/01/26 职场文书
党建示范点实施方案
2014/03/12 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
消防宣传语大全
2015/07/13 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
golang中的空slice案例
2021/04/27 Golang
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS