解決手機端視頻播放後層級混亂的問題

以前作過一個項目,其中一項功能是查看社交信息流帖子。不少帖子中都包含視頻,手機上播放視頻後,會有層級混亂的問題。javascript

當時的解決方案是動態的將視頻放入Iframe中。之後若是有其餘的解決方式會追加進來。html

視頻使用的是16:9的比例。java

示例:web

HTML:chrome

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

CSS:app

.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:dom

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>');
相關文章
相關標籤/搜索