如何禁用下载视频选项

23

我想禁用视频标签控制面板中的下载视频链接。


     <video oncontextmenu="return false;" id="myVideo" autoplay controls>
        <source src="uploads/videos/<?php echo $vid;?>" type="video/mp4">
    </video>

可能是重复的问题:如何防止 HTML5 视频被下载(右键保存)? - iHasCodeForU
使用oncontextmenu="return false;"我可以禁用右键点击,但是在视频控制栏中有下载链接...靠近音量控制按钮。我想要禁用那个。 - nik
你使用哪个视频播放器? - keerti
使用浏览器从视频标签源运行视频。 - nik
不是重复的答案,Mathankumar K的回答帮助正确回答了它。 - saNiks
3个回答

43

看起来非常简单,似乎你正在使用HTML 5视频,并且使用你上面的示例,以下是代码:

<video oncontextmenu="return false;" id="myVideo" autoplay controls controlsList="nodownload">
    <source src="uploads/videos/<?php echo $vid;?>" type="video/mp4">
</video>

只需在视频标签中添加 controlsList="nodownload" 即可。


控件列表属性是逗号分隔还是空格分隔? - Denver Prophit Jr.
嗨@DenverProphitJr。--只是一个空格。为了让您有一个想法,这是参考网址:[controlslist](https://googlechrome.github.io/samples/media/controlslist.html) - Allan

4

请在下面的样式中添加以禁用视频标签中的下载链接。

例如:

<!DOCTYPE html>
<html>
<head>
<style>
   video::-internal-media-controls-download-button {
    display:none;
   }

   video::-webkit-media-controls-enclosure {
        overflow:hidden;
   }

   video::-webkit-media-controls-panel {
        width: calc(100% + 30px); 
   }
</style>
</head>

<body>

<video width="320" height="240" controls>
  <source src="add your video url" type="video/mp4">
</video>
</body>
</html>

谢谢,我一直在寻找它,但他们总是把我重定向到其他问题。 - saNiks

2

如果有人从未来(《杰森一家》的节奏)看到这个问题,是的,controlList = 'nodownload' 绝对有效。但我建议,不要在视频标签中添加 controlList,而是在您的 js 文件中添加。因为如果有人开始玩弄您的代码,他们很容易删除 controlsList 属性并仍然下载它(如果他们在电脑上当然)。所以,为了安全起见 - 将其放入 js 文件中。然后混淆 js 文件。所以,万一你不知道我的意思 - 它应该像这样(顺便说一句,我使用了 jquery):

$(document).ready(() => {

$('video').attr('controlsList', 'nodownload');

});

这绝对有效,可以防止人们随意进入并删除您的视频属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接