【计算机学习】-- 网页视频加速
系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、开发者选项
- 二、定义和用法
- 1.基础语法:
- 2.什么是uncaught TypeError:Cannot read properties of null?
- 二、开发者工具面板:
- 1.Elements面板:
- 2.Console面板:
- 总结
前言
一、开发者选项
网页视频无法拖动进度条,如何进行加速播放操作以及网页失焦后如何继续播放
1、 首先点击键盘F12,进入开发者模式
2、 发现标志,heml5,属于原生支持最方便实现加速的
3、 属性:
Video对象
Document.getElementById(“myvideo”).playbackRate = 0.5;
二、定义和用法
PlaybackRate属性设置或返回视频的当前播放速度
1.基础语法:
代码如下(示例):
Document.getElementById(“myVideo”).playbackRate = 0.5;
//或者找到video元素
Document.querySelector(‘video’).defaultPlaybackRate = 1.0通过Console调试窗口,调节播放倍数
Document.querySelector(‘video’).defaultPlaybackRate = 1.0;
Document.querySelector(‘video’).play();
Document.qureySelector(‘video’).playbackRate = 10.0;Document.getElementsByTagName(‘video’)[0].playbackRate = 4
Videojs.getPlayers(“video-player”).html5player.tech_.setPlaybackRate(2)
有个注意事项是进行元素搜索时需要注意切换iframe,否则可能会遇到赋值为null的情况;
Uncaught TypeError:Cannot set properties of null (setting ‘defaultPlaybackRate’) at :2:53
2.什么是uncaught TypeError:Cannot read properties of null?
在JavaScript中,当你试图访问一个null或undefined对象的属性时,就会抛出这个错误。例如,我们有一个变量x,它的值为null,然后当我们尝试访问x.property,就会得到uncaught TypeError:Cannot read properties of null的错误。
为什么会出现这个错误?
1、 我们正在尝试访问一个未定义的变量的属性;
2、 我们正在尝试访问一个空对象的属性;
3、 我们正在尝试访问一个不存在的对象的属性;
如何解决这个问题?
1、 检查我们的变量是否已经定义
2、 检查我们的变量是否为null或undefined
3、 使用可选链式调用
因为元素定位时找不到video这个元素,因此无法进行属性赋值。解决方案就是先切换到video所在的iframe所在界面,
1、 可以通过开发者工具里元素定位工具,直接选中video所在的iframe
2、 切换console控制台上的标签页,切换后再执行刚才的那块代码即可
二、开发者工具面板:
- Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈;
Console:记录开发者开发过程中的日志信息,且可以作为js进行交互的命令行Shell; - Sources:断点调试js
- Network:从发起网页页面请求Request后分析HTTP请求后得到的各个请求资源信息(包括状态、资源类型、大小、所用时间等),可以根据这个进行网络性能优化。
- Timeline:记录并分析在网站的生命周期内所发生的各类事件,以此可以提高网页的运行时间和性能;
- Profiles:如果你需要Timeline所能提供的更多信息时,可以尝试一下Profiles,比如记录js,cpu执行时间细节,显示js对象和相关的DOM节点的内存消耗,记录内存的分配细节;
- Application:记录网站加载的所有资源信息,包括存储数据(Local Storage、Session Storage、IndexedDB、Web SQL、Cookies)、缓存数据、字体、图片、脚本、样式表等;
- Security:判断当前网页是否安全;
- Audits:对当前网页进行网络利用情况、网页性能方面的诊断,并给出一些优化建议。比如列出所有没有用到的CSS文件等;
1.Elements面板:
实时编辑DOM节点和CSS样式
1、 双击DOM树视图里面的节点,可以实时编辑标签属性,修改的效果会立刻反应在浏览器里面;
2、 点击右侧Style面板,可以实时修改CSS的属性值,这里面的所有样式Name和Value都是可以编辑的;在每个属性后面单击可以添加新的样式;
3、 点击右侧Computed面板,可以编辑左侧选中的盒子模型参数,所有的值都是可以修改的;点击不同的位置(top、bottom、left、right)就可以修改元素的paddign、border、margin属性值;
4、 查看网页的本地修改历史;
5、 点击Styles面板中修改过属性的文件名,会跳转到Source面板;
6、 在文件位置右击选择Local modifications,可以查看本地的所有修改记录;
7、 点击指定的时间点可以看到粉红背景的删除内容和绿色背景的添加内容;
2.Console面板:
控制台输出日志
通过js代码或命令行console.log()、console.warn()和conlole.error()可以将日志信息输出到控制台;
1、 console.log显示一半的基本日志信息,当要显示的基本日志太多时可以使用console.group将相关的日志进行分组;
2、 console.warn显示带有黄色小图标的警告信息;
3、 console.error显示带有红色小图标的红色错误信息;
4、 console.assert当第一个参数为false时,才会显示第一个参数的值;
5、 可以根据js条件判断输出不同的日志信息;
注:当需要换到下一行而不是回车的时候,shift+enter
总结
分享:
一个人要忍耐这样的羞辱,这本身就需要更大的勇气,当一个人的心中有种更高的目标去攀登时,他就不会在意脚下的泥泞,他才可能用最平静的方式去面对一般人难以忍受的痛苦;
相关文章:
【计算机学习】-- 网页视频加速
系列文章目录 文章目录 系列文章目录前言一、开发者选项二、定义和用法1.基础语法:2.什么是uncaught TypeError:Cannot read properties of null? 二、开发者工具面板:1.Elements面板:2.Console面板: 总结 前言 一、开发者选项 …...
系统运维-Linux配置C、C++、Go语言编译环境
C yum install gcc -y #安装gcc编译器 gcc --version #验证环境gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even f…...

【设计模式】(二)设计模式六大设计原则
一、 设计原则概述 设计模式中主要有六大设计原则,简称为SOLID ,是由于各个原则的首字母简称合并的来(两个L算一个,solid 稳定的),六大设计原则分别如下: 1、单一职责原则(Single Responsibitity Principle&#…...
go-zero官网
go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。 go-zero官网:go-zero 缩短从需求到上线的距离...
Redis的应用场景以及常见问题(持续更新)
一、使用场景 1,在大型的秒杀库存扣减,app首页流量高峰,很容易将传统的关系型数据库(mysql,oracle等)给压垮 2,还有很多没必要持久化的数据,比如说短信验证码,点赞数等 3,…...
前端添加压缩包内文件名称校验
1. tar包内文件名称校验 1. 读取tar包内所有的文件名称 export class TarReader {fileInfo: any[]buffer: string | ArrayBufferconstructor() {this.fileInfo []}readFile(file) {return new Promise(resolve > {const reader new FileReader()reader.onload event &g…...

redis02 安装
官网下载 传送门https://redis.io/download/#redis-downloads 安装Redis mac m1安装 下载你需要版本的软件包放到指定的目录下进行解压 cd 到解压好的redis目录 运行下面的命令进行编译测试 sudo make test 中途可能会提示你安装make工具,按提示安装即可&…...
#QT(QT时钟)
1.IDE:QTCreator 2.实验 3.记录 qtime(qt的时间类) qtimer(qt的定时类) 4.代码 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> // #include <QTimer&g…...
T-RAG:结合实体检测的增强检索生成模型
内容摘要: T-RAG是一种新的大型语言模型(LLM)应用框架,在保证数据隐私的同时,提高了对私有企业文档的问答系统性能。T-RAG通过结合已有的增强检索生成(RAG)框架、自定义的开源语言模型以及一个实…...
u-boot: NAND 驱动简介
文章目录 1. 前言2. NAND 初始化3. 访问 NAND 设备3.1 查看 NAND 设备信息3.1.1 查看 NAND 设备基本信息3.1.2 查看 NAND 设备 MTD 分区3.1.3 查看 NAND 设备坏块 3.2 NAND 擦除操作3.3 NAND 写操作3.4 NAND 读操作3.5 其它 NAND 操作 1. 前言 限于作者能力水平,本…...

史上最全的大数据开发八股文【自己的吐血总结】
自我介绍 我本硕都是双非计算机专业,从研一下开始学习大数据开发的相关知识,从找实习到秋招,我投递过100公司,拿到过10的offer,包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂(岗位都是大数据开发&#…...

数据库学习案例20240304-mysql数据库案例总结(碎片,统计信息)
1 表中的碎片 在InnoDB中删除行的时候,这些行只是被标记为“已删除”,而不是真正从物理存储上进行了删除,因而存储空间也没有真正被释放回收。InnoDB的Purge线程会异步地来清理这些没用的索引键和行。但是依然没有把这些释放出来的空间还给操…...
【小白友好】LeetCode 删除并获得点数
基础题 打家劫舍https://leetcode.cn/problems/house-robber/ 小白解法 删除nums[i]就会使得所有nums[i]-1和nums[i]1的值都消失,手写了几个,发现找来找去不方便,还不如先排个序,然后这样nums[i]-1和nums[i]和nums[i]1就能靠在…...
c#委托、lambda、事件
Lambda Lambda表达式是一种匿名函数,Lambda表达式通常以箭头“>”分隔左侧的输入和右侧的输出。 (parameter_list) > { statement_block } parameter_list 是由一个或多个参数组成的逗号分隔列表,每个参数都包括类型和名称,可以为空。…...
每日一练——9×9乘法表
#include<stdio.h>int main() {int i 0; //乘数定义for (i 1; i < 9; i) //循环1到9 {int j 0;//被乘数定义for (j 1; j < i; j) //循环被乘数1到9{printf("%d*%d%2d ", i, j, i * j); 乘法}printf("\n"); 换行} return 0; }...
大白话解析LevelDB:ShardedLRUCache
文章目录 Cache 接口定义ShardedLRUCache 的实现ShardedLRUCache 的构造函数ShardedLRUCache::Insert(const Slice& key, void* value, size_t charge, void (\*deleter)(const Slice& key, void* value))ShardedLRUCache::Lookup(const Slice& key)ShardedLRUCach…...
GDOI2024游记
Day0 中午一点钟从学校出发去东莞,大概坐了一个多小时车,两点半多到酒店。住的八方精选酒店(ljh说他们住九方精选酒店,乐),说的是景区酒店,但打开外窗,近处是简陋的阳台,…...

学编程怎么样才能更快入手,编程怎么简单易学
学编程怎么样才能更快入手,编程怎么简单易学 一、前言 对于初学编程建议先从简单入手,然后再学习其他复杂的编程语言。 今天给大家分享的中文编程开发语言工具 进度条构件的用法。 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 …...
Android 通知--判断通知是否有跳转
一. 从应用层来分析 在 Android 中,可以通过 PendingIntent 来实现有跳转的通知和没有跳转的通知的区别。具体来说,有跳转的通知会设置一个 PendingIntent,当用户点击通知时会触发该 PendingIntent,打开指定的界面或执行特…...

【计算机网络】IO多路转接之poll
文章目录 一、poll函数接口二、socket就绪条件三、poll的优点四、poll的缺点五、poll使用案例--只读取数据的server服务器1.err.hpp2.log.hpp3.sock.hpp4.pollServer.hpp5.main.cc 一、poll函数接口 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int t…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...