html5 video全屏播放/自动播放的实现示例


Posted in HTML / CSS onAugust 06, 2020

近期开始开发公司新版官网, 首页顶部(header)是一个全屏播放的小视频, 现简单总结如下:

页面代码

<header class="header" style="width:100%;position: relative;">
    <?php if(!Helper::isMobile()) { ?>
    <video id="homeVideo" class="home-video" autoplay loop muted poster="res/video/cover.jpg">
        <source src="res/video/home_video.mp4" type="video/mp4">
    </video>
    <?php } ?>
</header>

其中php简单判断了一下是否是移动设备, 移动设备不展示视频(如果移动端展示的话, 需要解决iOS上无法自动播放的问题):

ps: 如果H5页面主要在微信浏览器中访问,可以解决iOS上视频自动播放的问题:解决iOS h5 audio自动播放(亲测有效)

class Helper {
    public static function isMobile() {
        if (preg_match("/(iPhone|iPod|Android|ios|iPad)/i", $_SERVER['HTTP_USER_AGENT'])) {
            return true;
        } else {
            return false;
        }
    }
}

video标签样式

为了让视频占满整个屏幕, 关键在于video标签样式的设置:

.home-video {
    z-index: 100;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    object-fit: fill;/*这里是关键*/
    width: auto;
    height: auto;
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background: url(../video/cover.jpg) no-repeat;
    background-size: cover;
}

视频跟随浏览器窗口大小的改变:

$('.home-video').height(window.innerHeight);
$('.header').height(window.innerHeight);
$(window).resize(function() {
    $('.home-video').attr('height', window.innerHeight);
    $('.home-video').attr('width', window.innerWidth);
    $('.header').height(window.innerHeight);
});

页面加载完成再次触发播放,防止autoplay未生效

document.getElementById('homeVideo').play();

到此这篇关于html5 video全屏播放/自动播放的实现示例的文章就介绍到这了,更多相关html5 video全屏播放/自动播放内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3 box-sizing属性
Apr 17 HTML / CSS
CSS3动画:5种预载动画效果实例
Apr 05 HTML / CSS
CSS3 实现时间轴动画
Nov 25 HTML / CSS
CSS3中animation实现流光按钮效果
Dec 21 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
Apr 10 HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
Apr 04 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
Feb 10 HTML / CSS
HTML5+JS实现俄罗斯方块原理及具体步骤
Nov 29 HTML / CSS
HTML5新增元素如何兼容旧浏览器有哪些方法
May 09 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
Dec 18 HTML / CSS
HTML5 图片悬停放大的实现代码示例
Dec 04 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
Aug 05 #HTML / CSS
Html5饼图绘制实现统计图的方法
Aug 05 #HTML / CSS
Canvas 帧动画吃苹果小游戏
Aug 05 #HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
Jul 28 #HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 #HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 #HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 #HTML / CSS
You might like
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
CI框架常用方法小结
2016/05/17 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
2013/07/08 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
python网络编程学习笔记(一)
2014/06/09 Python
Python环境变量设置方法
2016/08/28 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
python属于跨平台语言码
2020/06/09 Python
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
自我鉴定注意事项
2014/01/19 职场文书
社区八一活动方案
2014/02/03 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
Java基础-封装和继承
2021/07/02 Java/Android