js禁止用户通过video标签自带的进度条进行快进(包括键盘方向键快进),允许快退,下次播放时从上次观看时长继续播放。

这篇具有很好参考价值的文章主要介绍了js禁止用户通过video标签自带的进度条进行快进(包括键盘方向键快进),允许快退,下次播放时从上次观看时长继续播放。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

js禁止用户通过video标签自带的进度条进行快进(包括键盘方向键快进),允许快退,下次播放时从上次观看时长继续播放。

今天遇到一个需求,用户观看视频时不允许快进(包括键盘方向键的默认事件),允许快退,并且下次进入时从上次播放的时长继续播放。
以下是实现代码

<template>
	<video
	    ref="my_videos"
	    class="video-dom-content"
	    autoplay
	    :src="playVideo.address"
	    controls
  	/>
</template>
<script>
	data(){
		return {
			playVideo:{
				watchMaxTime:0,	//当前可快进到的最大时长	单位为s
				copyCurrentTime:0, //下次进入时继续播放的时长  单位为s
				address:"",  //视频路径
			}
		}
	},
	mounted() {
	    this.$nextTick(() => {
	      let that = this
	      let myVideo = that.$refs.my_videos	//当前播放器
	      myVideo.currentTime = this.playVideo.copyCurrentTime		//从上次播放的时间继续播放
	      myVideo.addEventListener("timeupdate", () => {
	          //记录视频已经播放时长
	          if (myVideo.currentTime > that.playVideo.watchMaxTime) {
	            //但如果相差1秒就证明是往后拖时间了 正常来说是每次时长更新相差0.3s
	            var num = parseFloat(myVideo.currentTime) - parseFloat(that.playVideo.watchMaxTime)
	            if (num < 1) {	//正常播放时,记录当前播放时间
	              that.playVideo.watchMaxTime = myVideo.currentTime
	              that.playVideo.copyCurrentTime = myVideo.currentTime
	            } else {	// 差值大于1s时,视为拖动,将上一次记录的播放时间赋值给当前播放器的播放时间
	              myVideo.currentTime = that.playVideo.watchMaxTime
	              that.playVideo.copyCurrentTime = that.playVideo.watchMaxTime
	            }
	          }
	        })
	        //监听键盘方向右键
	        myVideo.addEventListener("keydown", (event) => {
	          if (event.keyCode === 39) {
	            //不允许通过方向键快进至超过当前播放的最大视频时间,超过时,将当前播放的最大视频时间赋值给当前播放器播放时间,小于时,不做操作
	            if (
	              myVideo.currentTime > that.playVideo.watchMaxTime
	            ) {
	              myVideo.currentTime = that.playVideo.watchMaxTime
	            }
	          }
	        })
	    })
	  }
  </script>

  看网上好多说用css来实现或者干掉video标签的controls,通过自己编写样式以及功能实现控制条播放、全屏等等,看了一大圈,还是这个方法比较符合现有的业务逻辑,有什么更好的实现方法,欢迎大家讨论。文章来源地址https://www.toymoban.com/news/detail-523725.html

到了这里,关于js禁止用户通过video标签自带的进度条进行快进(包括键盘方向键快进),允许快退,下次播放时从上次观看时长继续播放。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js如何操作video标签

    在做web ui自动化时,遇到操作视频的时候有时比较让人头疼,定位时会发现只有一个video标签,用selenium来实现的话比较麻烦,使用js后我们只需定位到video标签,然后通过js 中处理video的相关属性和方法就可实现,我们继续往下看。 1.获取视频的总时长(duration) 2.获取当前播

    2024年02月09日
    浏览(21)
  • 在vue项目中使用video.js实现视频播放和视频进度条打点

    引入videojs插件 注意: controls 如果不是true的话,不会显示播放按钮 播放按钮默认在 左上角 ,是作者认为会遮挡内容考虑的,不过这个是可以根据参数修改的,只需要给video标签加一个class( vjs-big-play-centered )就可以了。 要实现的功能是视频的进度条上面有一些小点,然后

    2023年04月08日
    浏览(71)
  • Linux 禁止用户或 IP通过 SSH 登录

    1.只允许指定用户进行登录(白名单): 在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项,(配置完成需要重启 SSHD 服务)格式如下: 2.只拒绝指定用户进行登录(黑名单): 在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成需要重启SSHD服务)格式如下: 除了可以

    2024年02月15日
    浏览(40)
  • 如何使用JS拦截并禁止用户复制、剪切、粘贴、鼠标右键(含破解方法)

    想必大家经常会遇到这样的需求,禁止用户复制、剪切、另存为、鼠标右键的操作等。今天一篇文章学会拦截并禁止用户特定操作及破解方法。正所谓道高一尺魔高一丈啊能禁止也能破解 在相关dom标签上给元素onselectstart 赋值为return false 或者在script中写类似下面这种代码:

    2024年02月12日
    浏览(32)
  • 广电用户画像分析之根据用户行为数据进行筛选与标签添加

    在数据处理和分析领域,我们经常需要根据用户的行为数据进行筛选和标签添加,以便更好地理解用户行为和偏好。在本篇博客中,我们将介绍两个示例,展示如何根据用户的收视行为数据和订单信息进行数据处理和分析。 数据集分析: 广电用户画像分析之探索各个表中的

    2024年02月11日
    浏览(33)
  • JavaScript基于MediaRecorder录制mp4视频或webm视频并下载,JavaScript实现对video标签进行录制mp4视频或webm视频和下载

    本章实现网页video标签录制mp4视频或webm视频并下载。 视频录制这种计算密集型任务比较重,比较适合放在后台进行实现,本章适合前端任务不太重的短时间视频录制,长时间录制建议还是走后台录制并提供下载地址给网页前端即可。 所以本章只适用于短时间的视频录制并下

    2024年02月06日
    浏览(28)
  • 小程序video播放器隐藏进度条无效问题

    小程序使用video播放m3u8格式的监控 期望实现的效果:只有全屏按钮,不显示进度条 最开始使用的属性是: show-bottom-progress,但是发现此属性值只针对ios有效,android还是无效 设置代码如下 解决办法 将show-progress设置为false即可

    2024年02月15日
    浏览(35)
  • Layui禁止表格部分复选框,layui禁止表格自带第一列复选框,layui禁止表格部分复选框,layui获取表格复选框选中数据

    禁止某些行可以勾选操作,及选中后的操作和行操作 执行一个table示例 cols 的第一列就是需要重写的复选框 其中templet: \\\"#toolCheck\\\"的标签块 监听全选重写 获取复选框选中的值,tempTableList当前列表返回的数组 以上即可! 监听行复选框点击(如果没有重写复选框就可以用) 标签

    2024年02月09日
    浏览(42)
  • MATLAB实现k-means算法(k-均值)对无标签数据进行聚类,并通过肘部法则确定聚类类别

    应一个小伙伴的要求介绍了一下K均值聚类算法。本人也不是很专业,这是之前自学的,如果有错,大家可以提出来,共同进步嘛。   聚类属于非监督学习,K均值聚类是最基础常用的聚类算法。它的基本思想是,通过迭代寻找K个簇(Cluster)的一种划分方案,使得聚类结果

    2023年04月26日
    浏览(35)
  • uniapp-微信小程序关于禁止ios自带的下拉上拉(橡皮筋回弹)

    先说出现的问题,如下图所示,下拉出现空白,上拉也会出现一段空白。 要求:这个页面不能拉动,并且保证 如果内容超出,可以正常滑动,内容不超出也禁止ios自带的拉动    解决办法:分两步 第一步 :在pages.json里添加这行代码,如下图所示, 但是 如果你的页面内容很

    2024年02月12日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包