移动端视屏问题

colaman 2021-09-07 原文


移动端视屏问题


实现了移动端点击图片视屏全屏播放,退出视屏隐藏

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            html,
            body {
                padding: 0;
                margin: 0;
                width: 100%;
                height: 100%;
                -webkit-user-select: none;
                user-select: none;
                overflow: hidden;
            }
            #videobox {
                width: 100px;
                height: 100px;
                overflow: hidden;
                background-color: red;
            }
            video {
                width: 1px;
                display: blcok;
            }
        </style>
    </head>

    <body>
        <div id="videobox">
            <video id="video" playsinline webkit-playsinline="true" src="http://7xvl2z.com1.z0.glb.clouddn.com/nigg2.mp4"></video>
        </div>
        <script type="text/javascript">
            var video = document.querySelector(\'#video\');
            var videobox = document.querySelector(\'#videobox\');

            //播放时改变外层包裹的宽度,使video宽度增加,
            //相应高度也增加了,播放器控件被挤下去,配合overflow:hidden
            //控件看不见也触摸不到了
            var setVideoStyle = function() {
                videobox.style.width = \'120%\';//把视屏撑大20%为了把控制条顶出可视区域
                videobox.style.left = \'-10%\';
                video.style.width = \'100%\';
            }
            document.getElementById(\'videobox\').addEventListener(\'click\', function() {
                setVideoStyle();
                document.getElementById(\'video\').play();//一般是点击一张图片视屏开始播放
            }, false);
            document.getElementById(\'video\').addEventListener(\'ended\', function() {
                document.getElementById(\'videobox\').style.display = "none";//监听视屏是否播放完成,完成后把视屏隐藏
            }, false);
            document.getElementById(\'video\').addEventListener(\'pause\', function() {
                document.getElementById(\'videobox\').style.display = "none";//监听视屏是否暂停
            }, false);
        </script>
    </body>
</html>
playsinline webkit-playsinline 这两个属性则是对视频全屏处理的

比较纠结的一个问题是,如果用户在视屏没有完全播放完的时候就退出视屏通过什么来监听这个动作,视屏全部放完的话直接ended的就可以了,找了一些方法
和资料也并没有奏效,后来我想用户在没看完的情况下退出全屏这个动作视屏当时应该是会自己自动的暂停吧,于是我就用pause试了一下果然是可行的

onplaying 事件在视频暂停后准备开始播放时执行 JavaScript



这里贴出主要资料的地址:
https://segmentfault.com/a/1190000006857675#articleHeader4

 

发表于
2017-08-02 16:25 
ColaMan 
阅读(136
评论(0
编辑 
收藏 
举报

 

版权声明:本文为colaman原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/colaman/p/7274621.html

移动端视屏问题的更多相关文章

随机推荐

  1. 《前端之路》— 重温 Koa2

    目录 一、简单介绍 二、 路由 三、请求数据 四、 静态资源加载 五、 静态资源加载 六、 koa2加载模板引 […]...

  2. Ubuntu下解决解压zip文件中文文件名乱码问题

    Ubuntu下解决解压zip文件中文文件名乱码问题  在Ubuntu下解压Windows下压缩的zip文件时, […]...

  3. Pycharm及python安装详细教程

    首先我们来安装python 1、首先进入网站下载:点击打开链接(或自己输入网址https://www.pyth […]...

  4. .Net基础——程序集与CIL

    1. 程序集和CIL: 程序集是由.NET语言的编译器接受源代码文件产生的输出文件,通常分为 exe和dll两 […]...

  5. 你知道搜狐的内容运营是如何做的?

    在写之前,先向大家分享我最近读完的一本书—《超越门户,搜狐新媒体操作手册》。本书由现一点资讯副总裁,原南方周末 […]...

  6. linux搭建datax、datax-web

    linux搭建datax、datax-web一、所需组件1、jdk1.82、mysql5.73、python2.74、datax5、datax-web二、开始安装1、安装jdkmkdir -p /export/server...

  7. 英语:徐老师原典英语自学法 – 周 金根

    英语:徐老师原典英语自学法 前几天经敏捷个人Q群朋友介绍,知道有原典英语自学法,于是去看了一下徐老师的超越哈佛 […]...

  8. DataPipeline丨DataOps的组织架构与挑战

      作者:DataPipeline CEO 陈诚   前两周,我们分别探讨了“数据的资产负债表与现状”及“Da […]...

展开目录

目录导航