HTML5中关于解决video标签禁止右键和下载视频的办法

文章介绍了如何在在线文件管理系统中,特别是涉及到视频预览时,通过添加controlsList属性和处理oncontextmenu事件来禁用video标签的下载功能以及阻止右键另存为。同时,提到了可以使用CSS隐藏其他控制按钮,并禁止选取和复制内容的方法,以适应只读权限的需求。
摘要由CSDN通过智能技术生成

近期做了一个关于在线文件管理的项目,类似网盘,基本功能包含用户、消息、项目、分享、文件提取、收藏、回收站等主要功能,领挖还有一些office、压缩包、图片、文本、音频和视频的预览功能。
音频我使用的是APlayer,视频使用的是DPlayer,为了做个兼容,视频还有html5中的video标签类型的预览,由于原生的video标签添加了controls属性后,右下角的 …点击后 会出现‘下载’ ,‘播放速度’,‘画中画’ 的功能选项,但是由于有只读权限的问题,需要关闭掉‘下载功能,摸索了半天解决了

增加 controlsList=“nodownload” 属性

<video controlsList="nodownload" >

也可以详细指定

<video
   ref="video"
   controls
   :poster="videoInfo.poster"
   controlslist="nofullscreen nodownload noremoteplayback"
  >
 <source :src="videoSrc" type="video/mp4" />

当然页面中也可以右键‘另存为’ 也需要做处理,使用oncontextmenu事件,禁用鼠标右键的菜单
oncontextmenu事件禁用右键菜单

document.oncontextmenu = function(){
    event.returnValue = false;
}// 或者直接返回整个事件
document.oncontextmenu = function(){
    return false;
}

拓展一下另外两种鼠标事件
onselectstart事件,禁止利用右键在网页上选取内容;
oncopy事件,禁止利用右键进行复制。
都可以捕捉到事件进行处理,如果你想单纯的禁用掉,那可以直接在body或者div中 return false掉操作即可:

<body oncontextmenu = "return false" ></body>
<body onselectstart = "return false" ></body>
<body oncopy = "return false" ></body>

此外,针对需要还可以对video标签的其他按钮进行隐藏

  // 隐藏video标签 音量按钮
  video::-webkit-media-controls-mute-button {
    display: none !important;
  }
  // 隐藏video标签 当前按钮
  video::-webkit-media-controls-current-time-display {
    display: none !important;
  }
  // 隐藏video标签 总时间
  video::-webkit-media-controls-time-remaining-display {
    display: none !important;
  }
  // 隐藏video标签 fullscreen按钮
  video::-webkit-media-controls-fullscreen-button {
    display: none !important;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kirinlau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值