video标签的属性、播放按钮+右侧三个点儿等播放控件样式的隐藏、禁止点击右键行为

一.video标签属性

  1. src :视频路径
  2. autoplay:自动播放
  3. muted:视频静音播放,(与autoplay属性结合使用时,可以在不触发浏览器自动播放限制的情况下实现静音自动播放
  4. loop:循环播放
  5. poster:视频封面(没播放时显示的图片)
  6. preload:预加载 (有助于优化媒体内容的加载和播放体验,特别是在网络条件不稳定或内容较大时)。 属性值:auto(根据浏览器决定预加载多少,通常是尽可能多的内容);metadata(只加载元数据,如视频长度和轨道信息);none(不预先加载任何视频数据);
  7. controls:启用浏览器默认控件(如播放/暂停按钮、进度条、音量控制等)
  8. width:视频宽度 (也可自己添加class设置)
  9. height:视频高度(也可自己添加class设置)
  10. crossorigin:指定视频以cors(跨域资源共享)方式加载。属性值:anonymous(请求不包含凭据; use-credentials(请求包含凭据,如cookie、HTTP认证等)
  11. controlslist:指定一组特定的控件功能是否应该被显示或启用。controlslist属性值可以是一个或多个以下选项,以空格分隔 :
  • nodownload:隐藏下载按钮(如果浏览器提供了下载功能)。
  • nofullscreen:禁用全屏按钮。
  • noremoteplayback:禁用远程播放按钮(例如,通过电视或蓝牙音箱播放)。
  • hidden-captions-menu:隐藏字幕菜单。

二.示例

示例6:preload属性使用(实现浏览器只会预加载视频的元数据,而不会加载实际的视频内容)

<video controls preload="metadata" src="example.mp4"> </video>  

  说明:

元数据通常包括:

  • 视频的时长
  • 视频的宽度和高度
  • 视频的轨道信息(如音频轨道、字幕轨道等)
  • 视频的编码格式

不会加载实际的视频内容意味着:

  • 浏览器不会下载视频文件的视频帧数据
  • 视频不会在用户未明确播放之前开始缓冲视频内容

目的:

减少页面加载时的数据使用量,特别是在网络条件不佳或用户可能不会观看所有视频内容的情况下。通过只加载元数据,页面可以更快地加载完成,并且用户可以在不消耗大量带宽的情况下浏览页面上的其他内容 

示例11:controlslist属性的使用(实现下载按钮和全屏按钮被禁用): 

<video width="640" height="360" controls controlslist="nodownload nofullscreen" src="example.mp4">  
</video> 

三.CSS 隐藏控制栏中“播放”、“进度条”、“三个点”等 

下面的图片是所有控件 :

通过css设置隐藏所有控件或者分别隐藏单个控件:

/*所有控件*/
video::-webkit-media-controls-enclosure {
    display: none;
}
/*播放按钮*/
video::-webkit-media-controls-play-button {
    display: none;
}
/*进度条*/
video::-webkit-media-controls-timeline {
    display: none;
}
/*全屏按钮*/
video::-webkit-media-controls-fullscreen-button {
    display: none;
}

/*观看的当前时间*/
video::-webkit-media-controls-current-time-display {
    display: none;
}
/*剩余观看时间*/
video::-webkit-media-controls-time-remaining-display {
    display: none;
}
/*音量按钮*/
video::-webkit-media-controls-mute-button {
    display: none;
}
/*隐藏切换隐藏字幕的按钮*/
video::-webkit-media-controls-toggle-closed-captions-button {
    display: none;
}
/*音量的控制条*/
video::-webkit-media-controls-volume-slider {
    display: none;
}


四、禁止右键出现画中画、显示控件的行为

说明:

当设置不显示所有控件时,在pc端点击右键,会出现绿框里的选项,会导致控件重新显示。

所以需要对右键行为进行限制,当点击右键时不显示绿框所有内容。

<template>
  <div>
    <video autoplay muted  class="video" @contextmenu="contextmenu" src="test.mp4"></video>
  </div>
</template>
<script setup>
//禁止右键行为
const contextmenu = (e) => {
  e.returnValue = false
}
</script>

<think>好的,我现在需要帮助用户解决在Kali系统中安装Docker Compose时遇到的错误,特别是APT仓库未签名的问题。用户提到错误信息是“仓库未签名 buster InRelease”。首先,我应该回忆一下之前提供的安装步骤,以及用户现在遇到的问题可能出在哪里。 根据用户之前的对话,我之前给出了安装Docker Compose的方法是通过下载二进制文件,但用户现在可能尝试通过APT仓库安装,或者是在安装Docker时遇到了仓库签名的问题。用户引用了几个不同的源,包括官方Docker仓库和清华镜像,可能用户尝试了不同的仓库导致签名错误。 首先,我需要确定用户的具体操作步骤。用户可能在添加Docker仓库到Kali后,运行sudo apt update时遇到了签名错误,因为Kali基于Debian,但Docker的官方仓库可能没有正确的签名密钥被系统信任。常见的错误可能是“NO_PUBKEY”或者“签名无效”。 解决方案应该是导入Docker的官方GPG密钥,以验证仓库的签名。根据引用中的信息,用户可能已经按照步骤添加了仓库,但缺少了密钥的导入步骤。例如,在引用[2]中提到添加软件源的GPG密钥,可能用户漏掉了这一步。 接下来,我需要检查正确的步骤是否包括下载并添加GPG密钥。通常,添加APT仓库后需要导入对应的公钥,否则会提示未签名的问题。因此,我应该建议用户运行如下的命令来导入密钥: curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg 这应该能解决仓库未签名的问题。如果用户之前使用了不同的镜像源,比如清华大学的镜像,可能需要调整仓库URL和对应的密钥,但通常Docker的官方密钥适用于所有镜像。 另外,用户可能使用了旧版本的Kali(如基于Debian buster),而Docker的仓库可能已经更新,需要确认仓库配置是否正确。例如,确保/etc/apt/sources.list.d/docker.list中的发行版名称(如buster)与系统兼容。 如果用户仍然遇到问题,可能需要清除旧的仓库信息,重新添加并更新缓存。或者检查是否有拼写错误在仓库配置文件中。 此外,用户提到安装Docker Compose,我之前建议的是下载二进制文件的方式,但用户可能尝试通过APT安装docker-compose-plugin,这可能会遇到依赖问题或者版本不兼容。需要指出在Kali中推荐使用二进制安装方式,因为APT源中的版本可能较旧或有依赖问题。 最后,应该提醒用户在解决问题后,重新运行sudo apt update和安装docker-compose的步骤,或者继续使用二进制安装方法。同时,处理可能残留的旧配置或缓存,比如清除/var/lib/apt/lists/中的部分文件。</think>### Kali系统解决Docker Compose安装错误及APT仓库签名问题 #### 一、修复APT仓库未签名问题 当出现`仓库未签名 buster InRelease`错误时,说明系统未信任Docker仓库的GPG密钥。执行以下操作: 1. **清理旧仓库配置**(若存在冲突): ```bash sudo rm -f /etc/apt/sources.list.d/docker.list* ``` 2. **添加正确仓库源**(任选一种): - **阿里云镜像加速版**: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list ``` - **官方仓库版**: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list ``` 3. **手动导入GPG密钥**(核心步骤): ```bash sudo mkdir -p /usr/share/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg ``` 4. **强制更新仓库缓存**: ```bash sudo apt update --allow-insecure-repositories ``` #### 二、安装Docker Compose ##### 方案一:推荐二进制安装(绕过APT依赖问题) 1. **下载最新版二进制文件**: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 2. **赋权并验证**: ```bash sudo chmod +x /usr/local/bin/docker-compose docker-compose --version # 应输出版本号 ``` ##### 方案二:APT安装(需先修复签名) ```bash sudo apt install docker-compose-plugin docker compose version # 注意新版命令格式 ``` #### 三、典型错误处理 1. **密钥错误补充方案**: ```bash # 若仍提示NO_PUBKEY,手动添加密钥 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8 ``` 2. **残留缓存清理**: ```bash sudo rm -rf /var/lib/apt/lists/partial/* sudo apt clean && sudo apt update ``` #### 四、验证完整工作流 ```bash # 创建测试docker-compose.yml echo 'version: "3" services: hello-world: image: hello-world' > docker-compose.yml # 运行测试 docker-compose up ``` --- ### 关键点解析 1. **签名问题本质**:Kali基于Debian,但未预装Docker的GPG密钥,需通过`--signed-by`参数显式指定密钥路径[^2][^3] 2. **架构兼容性**:必须确认`[arch=amd64]`与当前系统架构匹配(Kali默认使用amd64) 3. **版本对应关系**:`buster`对应Debian 10,需确保仓库声明与系统版本一致[^1][^4] --- ### 相关问题 1. 如何查看Kali Linux的Debian基础版本? 2. Docker Compose二进制安装与APT安装有何区别? 3. 如何彻底卸载Docker及残留配置? 4. 为什么国内推荐使用镜像加速仓库?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值