移动端视屏问题

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. 忆家乡的茶

    忆家乡的茶        ——大鸟软件(著)        茶在中国文化中有种独到的意味,而在中国湖南湘西,却 […]...

  2. 内存迟迟下不去,可能你就差一个GC.Collect

    背景 我们有一家top级的淘品牌店铺,为了后续的加速计算,在程序启动的时候灌入她家的核心数据到内存中,灌入完成 […]...

  3. 图表控件业界革命 -Arction新产品LightningChart JS 上市

    芬兰高科技企业Arction Ltd 在今年8月份推出了用于网页的数据可视化控件新解决方案—— Lightni […]...

  4. js生成一个上限跟下限的随机数

    function sj() { //x上限,y下限 var x = 2000; var y = 1800; v […]...

  5. 思维导图-我的第一本思维导图书(一)

    1.中心主题画框吗?    无中心比有中心更易激起大脑思考,但是如果是展示需要也可以画中心框,但是尽量避免只是 […]...

  6. 5.scrapy过滤器

    scrapy过滤器 1. 过滤器 当我们在爬取网页的时候可能会遇到一个调转连接会在不同页面出现,这个时候如果我 […]...

  7. redis

    MySQL关系型数据库数据存储的问题 1,性能瓶颈  磁盘io性能低下 2,扩展瓶颈 数据关系复杂,扩展性差, […]...

  8. 锤子便签V2.5产品体验报告

    前言 笔者对互联网产品很感兴趣,但属小白玩家。如果各位前辈有兴致请看一下,恭候指教。     体验环境   体 […]...

展开目录

目录导航