html5 video标签屏蔽右键视频另存为的js代码

要实现html5 video标签屏蔽右键视频另存为,我们可以使用Javascript代码来解决。具体的实现过程如下:

1. 创建一个video标签

首先,我们需要在HTML中创建一个video标签,并指定要加载的视频文件路径。

<video id="myVideo" controls preload="metadata">
   <source src="example.mp4" type="video/mp4">
   <source src="example.webm" type="video/webm">
   <source src="example.ogg" type="video/ogg">
</video>

2. 添加JS代码

接下来,我们需要使用Javascript添加一些事件监听器来屏蔽右键菜单和屏幕截图操作。

var myVideo = document.getElementById("myVideo");

myVideo.addEventListener("contextmenu", function (e) {
   e.preventDefault();
});

myVideo.addEventListener('keydown', function (e) {
   if (e.keyCode === 44 || e.keyCode === 45 || e.keyCode === 91 || e.keyCode === 93 || e.keyCode === 123) {
      e.preventDefault();
      return false;
   }
});

myVideo.addEventListener("dragstart", function (e) {
   e.preventDefault();
});

在这个代码中,我们首先通过getElementById()方法获取到video标签的DOM对象。然后,我们使用addEventListener()方法分别添加了三个事件监听器:contextmenu、keydown和dragstart。

  • contextmenu事件监听器:当用户右键点击video标签时,preventDefault()方法会阻止默认的右键菜单弹出,这就能防止用户另存为视频。

  • keydown事件监听器:当用户按下一些快捷键时,如Ctrl+S、Shift+PrintScreen、F12等时,preventDefault()方法也会阻止默认的操作,这就能防止用户截屏或其他操作。

  • dragstart事件监听器:当用户尝试拖动视频时,preventDefault()方法也会阻止默认的操作,这就能防止用户拖动视频到其他地方。

示例1:屏蔽video标签右键菜单

<!DOCTYPE html>
<html>
<head>
    <title>禁止右键保存视频</title>
    <meta charset="utf-8">
    <script>
        window.onload = function() {
            var video = document.getElementById('myVideo');
            video.addEventListener('contextmenu', function(e) {
                e.preventDefault();
            },false);
        }
    </script>
</head>
<body>
 <video id="myVideo" src="sample.mp4" width="640" height="480" controls></video>
</body>
</html>

在这个示例中,我们在window.onload事件中添加了一个事件监听器。当用户右键点击video标签时,preventDefault()方法将阻止默认的右键菜单弹出。

示例2:屏蔽video标签右键菜单、快捷键和拖拽操作

<!DOCTYPE html>
<html>
<head>
    <title>禁止右键保存视频</title>
    <meta charset="utf-8">
    <script>
        window.onload = function() {
            var video = document.getElementById('myVideo');
            video.addEventListener('contextmenu', function(e) {
                e.preventDefault();
            },false);

            video.addEventListener('keydown', function(e) {
                if (e.keyCode === 44 || e.keyCode === 45 || e.keyCode === 91 || e.keyCode === 93 || e.keyCode === 123) {
                    e.preventDefault();
                    return false;
                }
            },false);

            video.addEventListener('dragstart', function(e) {
                e.preventDefault();
            },false);
        }
    </script>
</head>
<body>
 <video id="myVideo" src="sample.mp4" width="640" height="480" controls></video>
</body>
</html>

在这个示例中,我们在window.onload事件中添加了三个事件监听器,分别是对应的contextmenu、keydown和dragstart事件。这些监听器都使用preventDefault()方法阻止了对应事件的默认行为,来达到屏蔽右键菜单、快捷键和拖拽操作的目的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:html5 video标签屏蔽右键视频另存为的js代码 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 使用淘宝IP库获取用户ip地理位置

    使用淘宝IP库获取用户IP地理位置攻略 淘宝IP库是一个常用的工具,可以通过用户的IP地址获取其地理位置信息。下面是使用淘宝IP库获取用户IP地理位置的完整攻略。 步骤一:获取用户IP地址 首先,你需要获取用户的IP地址。在Web开发中,可以通过HTTP请求的头部信息中的X-Forwarded-For字段或者REMOTE_ADDR字段来获取用户的IP地址。具…

    other 2023年7月30日
    00
  • iphone x怎么清理内存?iphone X清理手机内存教程

    iPhone X清理手机内存教程 清理iPhone X的内存可以帮助提高设备的性能和响应速度。下面是一些方法可以帮助你清理iPhone X的内存。 方法一:关闭不必要的应用程序 关闭不必要的应用程序可以释放内存并提高设备的性能。以下是如何关闭应用程序的步骤: 双击iPhone X的Home按钮,以打开最近使用的应用程序列表。 在最近使用的应用程序列表中,向左…

    other 2023年8月1日
    00
  • 苹果watchOS 6开发者预览版Beta4值得升级吗 附更新内容

    苹果watchOS 6开发者预览版Beta4值得升级吗 附更新内容 苹果最近发布了watchOS 6的第4个开发者预览版Beta4。那么在升级该版本之前是否值得呢?现在就让我们来一起看看吧。 更新内容 watchOS 6的Beta4版本带来了以下更新: 新增了可自定义的数字表盘类型。 为Activity应用程序添加新的挑战奖杯奖项。 修复了设备在检查软件更新…

    other 2023年6月26日
    00
  • Win10正式版升级及官方原版ISO镜像下载工具发布 附下载地址

    Win10正式版升级及官方原版ISO镜像下载工具发布攻略 本攻略将详细介绍如何升级Win10正式版以及官方原版ISO镜像下载工具的使用方法。以下是具体步骤: 升级Win10正式版 首先,确保你的计算机已经安装了Win10预览版。如果你还没有安装,可以从微软官方网站下载并安装。 打开Win10预览版的设置应用程序。你可以通过点击任务栏上的“开始”按钮,然后点击…

    other 2023年8月4日
    00
  • RSync实现文件同步备份配置详解

    RSync实现文件同步备份配置详解 什么是RSync RSync (remote synchronization) 是一个快速、灵活、可靠的远程文件复制工具。 常用于将数据从一个位置同步到另一个位置(比如从本地服务器同步到远程服务器),也用于备份、镜像、迁移数据。 RSync具有以下特点: 可以在本地或远程之间进行同步,支持使用SSH等网络协议进行安全连接 …

    other 2023年6月25日
    00
  • Win10怎么手动升级至17672.1000预览版?

    以下是详细的攻略: 1. 检查系统版本 在进行手动升级之前,我们需要先检查一下当前系统的版本,以确定是否需要升级。操作步骤如下: 点击“开始”菜单,选择“设置”; 在“设置”窗口中,点击“系统”; 在“系统”选项卡中,点击“关于”; 在“关于”窗口中,查看“系统规格”部分的“系统版本”信息。 如果当前系统版本是低于17672.1000的版本,那么就可以按照以…

    other 2023年6月20日
    00
  • C语言数据结构与算法之队列的实现详解

    C语言数据结构与算法之队列的实现详解 1. 什么是队列 队列(Queue)是一种数据结构,它是一种具有特殊操作约束的线性结构。在队列中,数据元素按照一定的逻辑顺序(即先进先出)存储,允许在队列尾部插入元素,在队列头部删除元素。队列的基本操作如下: 队尾入队:将一个新元素插入到队列的尾部; 队头出队:将队列中头部的元素删除,并返回该元素; 获取队头元素:仅返回…

    other 2023年6月27日
    00
  • Java访问Hadoop分布式文件系统HDFS的配置说明

    下面就是Java访问Hadoop分布式文件系统HDFS的配置说明的完整攻略。 配置说明 步骤一:Hadoop环境准备 在Java项目中使用HDFS时需要引入Hadoop的相关jar包,推荐使用Apache的Maven来管理jar包依赖。Maven会自动下载并添加依赖的jar包。 步骤二:配置HDFS连接参数 在Java程序中连接HDFS需要指定HDFS的连接…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部