📅  最后修改于: 2023-12-03 15:24:11.905000             🧑  作者: Mango
在 HTML 中,通过 <video>
标签可以嵌入视频,同时视频也可以自动播放和下载。如果你不希望用户在浏览器中下载视频,可以在 <video>
标签中加上 controls
属性,这样用户只能通过视频控制面板播放和暂停视频,不能下载视频。但是,如果用户知道如何查看网页源代码,还是可以找到视频的链接地址进行下载。为了进一步保护视频内容,我们需要添加一些其他的属性。
controlsList
属性controlsList
是 <video>
标签的一个属性,它定义了哪些控制选项要显示在视频上。默认情况下,controlsList
值为 "nodownload"
,表示禁止下载。如果我们想要启用视频下载,只需要将 controlsList
值设置为 "nodownload"
之外的值即可。例如:
<video src="example.mp4" controls controlsList="nodownload"></video>
oncontextmenu
事件除了 controlsList
属性,我们还可以通过 JavaScript 来禁用鼠标右键菜单,例如:
<video src="example.mp4" controls oncontextmenu="return false;"></video>
这里的 oncontextmenu
事件会在用户右键点击视频时触发,我们只需要返回 false
即可阻止默认的右键菜单弹出。
如果你担心别人直接在浏览器中输入视频链接地址进行下载,你可以添加防盗链,只允许特定的来源访问视频。例如:
<video src="example.mp4" controls
referrerPolicy="origin"
crossorigin="anonymous"
poster="example.jpg"></video>
这里的 referrerPolicy
属性设置为 "origin"
,表示只允许同源的页面访问视频。crossorigin
属性设置为 "anonymous"
,表示不发送身份信息。poster
属性设置视频封面图片,可以增加用户的点击兴趣。
综上所述,我们可以通过 controlsList
属性、oncontextmenu
事件和防盗链来保护视频内容,避免被用户直接下载。