zoukankan      html  css  js  c++  java
  • 如何隐藏 video 元素的下载按钮

    1. 使用 video 元素的 ControlList API 

    <video controls controlsList="nodownload"></video>

    通过 ControList API,不仅可以通过设置 nodownload 来隐藏下载按钮,还可以设置 nofullscreen 隐藏全屏按钮, 以及noremoteplayback 等属性,具体的示例可以参考 github pages。该方案的优点是原生支持,不会产生bug,而且设置起来也是简单方便,不过由于 ControlList API 是从 Chrome 58+ 才开始引入的,所以对于低于 58 版本的 Chrome 只能通过方法2来隐藏了。

    2. 通过 CSS 隐藏

    通过 Settings|Preferences -> Elements -> Show user agent shadow DOM 打开 shadow DOM 开关后,可以通过 devtools 查看 video 元素的组成部分。

    由此发现下载按钮的是通过 <input type="button" pseudo="-internal-media-controls-download-button" style=""> 呈现的,所以可以通过下述CSS将其隐藏:

    video::-internal-media-controls-download-button {
        display: none;
    }

    但是很可惜,该方法并不起作用,猜想可能是Chrome的一个BUG,所以只能另辟蹊径,简单来说就是将下载按钮挤出可见范围,这样就可以变相的认为按钮被隐藏了,代码如下:

    video::-webkit-media-controls {
        overflow: hidden !important;
    }
    video::-webkit-media-controls-enclosure {
        width: calc(100% + 32px);
        margin-left: auto;
    }
  • 相关阅读:
    2017ccpc全国邀请赛(湖南湘潭) E. Partial Sum
    Codeforces Round #412 C. Success Rate (rated, Div. 2, base on VK Cup 2017 Round 3)
    2017 中国大学生程序设计竞赛 女生专场 Building Shops (hdu6024)
    51nod 1084 矩阵取数问题 V2
    Power收集
    红色的幻想乡
    Koishi Loves Segments
    Wood Processing
    整数对
    Room and Moor
  • 原文地址:https://www.cnblogs.com/philipding/p/8299375.html
Copyright © 2011-2022 走看看