解决手机端视频播放后层级混乱的问题

Posted 零零_ZLING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决手机端视频播放后层级混乱的问题相关的知识,希望对你有一定的参考价值。

之前做过一个项目,其中一项功能是查看社交信息流帖子。很多帖子中都包含视频,手机上播放视频后,会有层级混乱的问题。

当时的解决方案是动态的将视频放入Iframe中。以后如果有其他的解决方式会追加进来。

视频使用的是16:9的比例。

示例:

html

<div id="video" class="video-wrap"></div>

CSS:

.video-wrap{ background:#ddd; position: relative; display: block; height: 0; padding: 0; overflow: hidden; padding-bottom: 56.25%; width: 100%; z-index:1;}
.video-wrap iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border:0; z-index:2}
}

JS:

var videoPost;  // 视频封面
var videoSrc;   // 视频地址
var videoWrap = document.querySelector("#video");  // 放入视频的div
var iframe = document.createElement(‘iframe‘);
videoWrap.innerHTML = ‘‘;
videoWrap.appendChild(iframe);

iframe.src = ‘javascript:void((function(){var script = document.createElement(\‘script\‘);‘ +
  ‘script.innerHTML = "(function() {‘ +
  ‘document.open();document.domain=\‘‘ + document.domain +
  ‘\‘;document.close();})();";‘ +
  ‘document.write("<head>" + script.outerHTML + "</head><body></body>");})())‘;

iframe.setAttribute("allowfullscreen", "true");

var v = ‘<video webkit-playsinline="true" playsinline="true" controls="controls" class="video" preload="none" poster="‘+videoPost+‘"><source src="‘+videoSrc+‘" type="video/mp4"></video>‘;

iframe.contentWindow.document.write(‘<meta content="text/html;charset=utf-8" http-equiv="Content-Type"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta http-equiv="X-UA-Compatible" content="IE=10"/><style>*{padding:0;margin:0;}.videoWrap{background:#ddd;position:relative;display:block;height:0;padding:0;overflow:hidden;padding-bottom:56.25%;width:100%;}.videoWrap video{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border:0;}</style><div class="videoWrap">‘+v+‘</div>‘);

 

以上是关于解决手机端视频播放后层级混乱的问题的主要内容,如果未能解决你的问题,请参考以下文章

js android端实现视频自动播放

解决手机微信浏览器视频自动播放和默认全屏问题

用手机UC浏览器缓存视频为啥是很多个小文件?怎么让它合成一个视频文件?

手机浏览器自动播放视频video(设置autoplay无效)的解决方案

关于IOS下的video标签层级问题

微信企业号开发遇到的bug