bilibili倍数脚本,油猴脚本

news2024/11/26 4:31:22

一. 内容简介

bilibili倍数脚本,油猴脚本

二. 软件环境

2.1 Tampermonkey

三.主要流程

3.1 创建javascript脚本

点击添加新脚本
在这里插入图片描述
就是在

(function() {
    'use strict';
    // 在这编写自己的脚本
})();

在这里插入图片描述

倍数脚本,含解析

// ==UserScript==
// @name         bilibili倍数
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  添加b站自定义倍数功能
// @author       You
// @match        https://www.bilibili.com/video/*
// @icon         https://img-blog.csdnimg.cn/f5d99485009b4e3b8a1de33064202353.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224
// @grant        none
// @license MIT
// ==/UserScript==


// 解析来自 http://t.csdn.cn/rkANJ,http://t.csdn.cn/nlUTQ
// "==UserScript=="           Greasemonkey 用它们来标记用户脚本的元数据段。这段注释可以放在用户脚本的任何部位,但经常会放在靠近顶部的地方
// @name                      脚本名字(可选,如果不存在,将会默认显示用户脚本的去掉拓展名.user.js的文件名)
// @namespace                 这个是命名空间;用来区分名称相同但是作者不同的用户脚本,一般都是写作者的个人网址,没有也可以写你的博客地址
// @version                   填写版本
// @description               关于用户脚本功能(可选,不写默认空白)
// @author                    作者
// @match                     这个是该脚本匹配的网址,支持通配符匹配
// @include		              这个也是该脚本匹配的网址,支持通配符匹配
// @exclude		              这个和 iclude 配合使用,排除匹配到的网址,优先于 include
//                            @include和 @exclude 是可选的,可以自定义执行和豁免的 URL,但必须每条规则各占一行。如果您没有任何定义, Greasemonkey 将会对所有的网站执行您的用户脚本。(等同于 @include *)。
// @icon                      应该是图标
// @grant                     none
// @license MIT



// 代码来自https://greasyfork.org/zh-CN/scripts/442030-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%80%8D%E6%95%B0,
// 在此基础上进行删改
(function() {
    'use strict';
    function addOtherSpeed() {
        // 这是拿到倍数那个容器
        let speedList = document.getElementsByClassName('bpx-player-ctrl-playbackrate-menu')[0];
        // 看是否执行过了
        if (speedList.getAttribute('set') === 'true') {
            return ;
        }
        // 给这个容器设置一个属性
        speedList.setAttribute('set','true');
        let createSpeedLi = (speed,parentDom) => {
            // 里面每个速度那个栏都是li存放的
            let li25 = document.createElement('li');
            // 给创建的栏添加进倍数那个栏
            // 从头部加入
            // parentDom.appendChild(li25);
            // 从尾部加入
            parentDom.insertBefore(li25, parentDom.firstChild);
            // 样式是原来哔哩哔哩里面的样式
            li25.classList.add('bpx-player-ctrl-playbackrate-menu-item');
            // 原来的li中有个属性就是 data-value,用来设置倍数的
            li25.setAttribute('data-value',speed);
            // 添加一下控件的内容
            speed = speed.toFixed(1);
            li25.innerHTML = `${speed}x`;
            li25.onclick = function () {

                let speed_ = li25.getAttribute('data-value');
                // getElementsByTagName 是 JavaScript 中 Document 对象的一个方法,用于获取文档中具有指定标签名称的所有元素
                let v = document.getElementsByTagName('video');
                if (v.length) {
                    v = v[0];
                } else {
                    // 设置倍数
                    v = document.getElementsByTagName('bwp-video')[0];
                }
                v.playbackRate = parseFloat(speed_);
            }
            return li25;
        };
        createSpeedLi(2.5,speedList);
        createSpeedLi(3.0,speedList);
        createSpeedLi(3.5,speedList);
        new Array(...speedList.getElementsByTagName('li')).map(_=> {
            // 这块不清楚了,添加一个空事件,在点击自己添加的倍数时候,播放下一个视频时候也会按着这个倍数播放的,删除的话,倍数无法保存
            _.onclick = function() {
            }
        });
        return ``
    }
    function fullScreenAndDoubleTime() {
        addOtherSpeed();
        tryAndTryFns.pop();
    }

    // 不停的尝试
    let tryAndTryFns = [];
    function tryAndTry() {
        setInterval(() => {
            // tryAndTryFns.forEach(f => f());: 在每个定时间隔,tryAndTry函数会遍历数组 tryAndTryFns 中的所有函数,并且调用这些函数
            tryAndTryFns.forEach(f => f());
        },500);
    }
    // 从这开始
    setTimeout(() => {
        tryAndTryFns.push(fullScreenAndDoubleTime);
        // 开始执行
        tryAndTry();
    },2000);
    // Your code here...
})();

假如要添加自己想要的倍数,在在这个地方添加就好了

        createSpeedLi(2.5,speedList);
        createSpeedLi(3.0,speedList);
        createSpeedLi(3.5,speedList);

3.2 测试运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/876033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STABLE DIFFUSION模型及插件的存放路径

记录下学习SD的一些心得,使用的是秋叶大佬的集成webui,下载了之后点击启动器即可开启,文件夹中的内容如下 主模型存放在models文件下的stable-diffusion文件夹内,一些扩展类的插件是存放在extensions文件夹下

Django框架 靓号管理(增删改查)

Django框架 靓号管理(增删改查) 新建一个项目 backend 使用pycharm创建app startapp app项目目录 C:\code\backend ├── app | ├── admin.py | ├── apps.py | ├── migrations | ├── models.py | ├── tests.py | ├── views.…

win11电脑查找已连接打印机ip的方法

此方法适用于驱动打印机,windows 11操作系统。 方法一:直接查看法 首先大家可以看看自己的打印机有没有lcd屏幕。有些直接在屏幕显示ip;另一种进入菜单,然后可以在里面的选项中显示“ip地址”。 方法二:设置中查看 …

Java课题笔记~ SpringMVC概述

1.1 SpringMVC简介 SpringMVC 也叫Spring web mvc。是Spring 框架的一部分,在Spring3.0 后发布的。 1.2 SpringMVC的优点 基于MVC 架构 基于 MVC 架构,功能分工明确。解耦合。 容易理解,上手快,使用简单 就可以开发一个注解…

【数据分享】2001-2022年我国省市县镇四级的逐月最高气温数据(无需转发/Shp/Excel格式)

气象数据是在各项研究中都非常常用的数据!之前我们分享过来自于国家青藏高原科学数据中心的1901-2022年1km分辨率的逐月平均气温栅格数据,以及基于该栅格数据处理的Shp和Excel格式的2001-2022年我国省市县镇四级的逐月平均气温数据(可查看之前…

执行Lua脚本后一直查询不到Redis中的数据(附带问题详细排查过程,一波三折)

文章目录 执行Lua脚本后一直查询不到Redis中的数据(附带详细问题排查过程,一波三折)问题背景问题1:Lua脚本无法切库问题2:RedisTemlate切库报错问题3:序列化导致数据不一致问题4:Lua脚本中单引号…

docker安装redis7-单机版

下载redis镜像 redis镜像各版本参考:redis镜像 ,这里以redis7.0.5为例 docker pull redis:7.0.5 创建挂载目录 挂载目录按照自己挂载的路径去创建对应的目录即可 mkdir -p /root/data/redis/conf(自己的挂载路径) mkdir -p /root/data/redis/data(自…

如何部署Zabbix监控服务

目录 一、zabbix概念 二、zabbix 监控原理 三、部署Zabbix服务 第一步 关闭防火墙和安全机制 第二步 获取Zabbix下载源 第三步 更换Zabbix阿里源 第四步 安装依赖环境 第五步 安装SCL服务 第六步 修改源配置文件 第七步 安装Zabbix依赖环境 第八步 安装Zabbix所需的…

【springboot启动报错】java: 错误: 无效的源发行版:17

报错截图 解决方案 第一步:编辑配置,改为想用的jdk版本 第二步:文件--->项目结构,改为对应的SDK 第三步:文件--->设置--->构建、执行、部署--->编译器--->Java编译器,修改目标字节码版本 第…

SAP 超级BOM物料语法报表(SAP配置BOM攻略七)

我需要一个报表,输入超级BOM,把其中的物料的语法相关性展现出来,CS12和CS03都没有这个清单功能。网上很多CS_BOM_EXPL_MAT_V2函数的使用了,我也来一篇我的吧。 *&----------------------------------------------------------…

Golang下载安装

目录 1. 下载压缩包 2. 解压 3. 查看SDK是否安装成功 4. 配置环境变量 5. 查看环境变量是否配置成功 1. 下载压缩包 官网下载地址: All releases - The Go Programming Language Windows64位选择如下下载: 2. 解压 解压后内容如下: …

对话教授丨中国石油大学(华东)理学院:课赛结合打造有学科特色的数据科学与大数据技术专业

2015 年,教育部公布新增“数据科学与大数据技术”专业,首批本科专业 2016 年入学;此后,32 所、250 所、196 所……迄今为止,全国各地已有 700 余所高校开设此专业。 中国石油大学(华东)&#x…

【日常积累】Linux之init系统学习

init系统简介: Linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 bootloader 载入内核,进行内核初始化。内核初始化的最后一步就是启动 pid 为 1 的 init 进程,这个进程是系统的第一个进程,它负责产生…

ROS相关技术(概念版)

重要说明:本文从网上资料整理而来,仅记录博主学习相关知识点的过程,侵删。 一、参考资料 ROS官网 二、相关介绍 ROS学习笔记3:ROS架构(了解) ROS介绍 1. ROS简介 ROS是一项由通信机制、开发工具、应…

(三)Unity开发Vision Pro——入门

3.入门 1.入门 本节涵盖了几个重要主题,可帮助您加快visionOS 平台开发速度。在这里,您将找到构建第一个 Unity PolySpatial XR 应用程序的分步指南的链接,以及 PolySpatial XR 开发时的一些开发最佳实践。 2.开发与迭代 有关先决条件、开…

打开远程桌面连接窗口

按键“windowsr”,调出“运行”,输入"mstsc",然后输入用户名和密码即可,用户名和密码是在被远程控制的服务器windows用户名和密码,即可远程桌面连接成功。

为什么所有的SiC肖特基二极管都不一样

在高功率应用中,碳化硅(SiC)的许多方面都优于硅,包括更高的工作温度以及更高效的高频开关性能。但是,与硅快速恢复二极管相比,纯 SiC 肖特基二极管的一些特性仍有待提高。本博客介绍Nexperia(安…

网络设备(防火墙、路由器、交换机)日志分析监控

外围网络设备(如防火墙、路由器、交换机等)是关键组件,因为它们控制进出公司网络的流量。因此,监视这些设备的活动有助于 IT 管理员解决操作问题,并保护网络免受攻击者的攻击。通过收集和分析这些设备的日志来监控这些…

【力扣每日一题】2023.8.14 合并二叉树

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们合并两棵二叉树,合并的方式就是把对应位置的节点的值相加,最后把合并后的二叉树的根节点返回出去。 这类二…

如何使用Spark/Flink等分布式计算引擎做网络入侵检测

如何使用Spark/Flink等分布式计算引擎做网络入侵检测 引言16 Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark17 Spark configurations to optimize decision tree classification on UNSW-NB1518 A dynamic spa…