深圳市网站建设做网站,wordpress游记主题,南海建设工程交易中心网站,销售水果网站建设一. 内容简介
bilibili倍数脚本#xff0c;油猴脚本
二. 软件环境
2.1 Tampermonkey
三.主要流程
3.1 创建javascript脚本
点击添加新脚本 就是在
(function() {use strict;// 在这编写自己的脚本
})();倍数脚本#xff0c;含解析
// UserScript
// name bi…一. 内容简介
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-processimage/resize,m_fixed,h_224,w_224
// grant none
// license MIT
// /UserScript
// 解析来自 http://t.csdn.cn/rkANJhttp://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 测试运行 测试完成