之前做過一個項目,其中一項功能是查看社交信息流帖子。很多帖子中都包含視頻,手機上播放視頻後,會有層級混亂的問題。 當時的解決方案是動態的將視頻放入Iframe中。以後如果有其他的解決方式會追加進來。 視頻使用的是16:9的比例。 示例: HTML: CSS: JS: ...
之前做過一個項目,其中一項功能是查看社交信息流帖子。很多帖子中都包含視頻,手機上播放視頻後,會有層級混亂的問題。
當時的解決方案是動態的將視頻放入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>');