HTML5 video - lishuwenMZL/- GitHub Wiki
当我们使用video标签的时候,有时候因为更多的需要,我们要自己自定义控制栏,而进入和退出全屏也是其中的一部分 不同的浏览器有不同的实现方法
- poster="loadbg.jpg" 视频封面
- preload="auto"
- x-webkit-airplay="allow"
- x5-video-player-type="h5" 启用H5播放器,是wechat安卓版特性
- x5-video-player-fullscreen="true" 全屏设置,设置为 true 是防止横屏
- x5-video-orientation="portraint" 播放器支付的方向,landscape横屏,portraint竖屏,默认值为竖屏
- webkit-playsinline="true" 这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放
- playsinline="true" IOS微信浏览器支持小窗内播放
可是经测试 x5-video-orientation="landscape" 在ios上并不起作用,依然无法横屏播放,Android上正常
// Webkit
- element.webkitRequestFullScreen();//进入全屏
- document.webkitCancelFullScreen();//退出全屏
// Firefox
- element.mozRequestFullScreen();
- document.mozCancelFullScreen();
// W3C
- element.requestFullscreen();
- document.exitFullscreen();
一般兼容性写法,我们先使用w3c标准的方法,如果不可以在兼容不同浏览器。
- function FullScreen() {
-
var ele = document.documentElement; -
if (ele .requestFullscreen) { -
ele .requestFullscreen(); -
} else if (ele .mozRequestFullScreen) { -
ele .mozRequestFullScreen(); -
} else if (ele .webkitRequestFullScreen) { -
ele .webkitRequestFullScreen(); -
} - }
- function exitFullscreen() {
-
var de = document; -
if (de.exitFullscreen) { -
de.exitFullscreen(); -
} else if (de.mozCancelFullScreen) { -
de.mozCancelFullScreen(); -
} else if (de.webkitCancelFullScreen) { -
de.webkitCancelFullScreen(); -
} - }
- $(ele).on('click',function(){
-
requestFullScreen(); - // exitFullscreen();
- });
视频播放时将会进入到全屏模式 注:声明此属性,需要页面自己重新适配新的视口大小变化。可以通过监听 resize 事件 来实现
- window.onresize = function(){
- test_video.style.width = window.innerWidth + "px";
- test_video.style.height = window.innerHeight + "px";
- }
HTML
JS- document.addEventListener(“WeixinJSBridgeReady”, function() {
- document.getElementById(‘video’).play();
- }, false);
- window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
- if (window.orientation === 180 || window.orientation === 0){
- alert('竖屏状态!');
- }
- if (window.orientation === 90 || window.orientation === -90 ){
- alert('横屏状态!');
- }
- }, false); //移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态。