一段让你延年益寿的 JS 代码
warning:
这篇文章距离上次修改已过102天,其中的内容可能已经有所变动。
标题神神秘秘,但实际上原理非常粗暴
如果你无法忍受现在的视频博主水货越来越多,中间夹杂一堆恰饭内容,原本一分钟能讲完的东西要花二十分钟去看视频
为何不试试把这段代码放入你的油猴里面呢?
代码很简单,就是把键盘上的『>』键映射为视频5倍速播放键,是的,包括广告播放速度(B站长按右方向键是3倍速,但还不够快!)
建议根据自己需要修改代码,不要盲目照抄
(function() {
'use strict';
const v = document.querySelectorAll("video")
const fastSpeed = () => {
v[0].playbackRate = 5
}
const normalSpeed = () => {
v[0].playbackRate = 1
}
let isRightKeyPressed = false;
document.addEventListener('keydown', (event) => {
if (event.code === 'Period' && !isRightKeyPressed) {
isRightKeyPressed = true;
fastSpeed()
}
});
document.addEventListener('keyup', (event) => {
if (event.code === 'Period') {
isRightKeyPressed = false;
normalSpeed()
}
});
})();
(完)
(function() {
'use strict';
// 获取所有视频元素,并确保至少存在一个视频元素
const videos = document.querySelectorAll('video');
if (videos.length === 0) return;
// 定义播放速率
const PLAYBACK_RATE_FAST = 5;
const PLAYBACK_RATE_NORMAL = 1;
// 检查并设置播放速率
const setPlaybackRate = (rate) => {
videos.forEach(video => video.playbackRate = rate);
};
let isPeriodKeyPressed = false;
// 添加事件监听器时使用箭头函数以避免this问题,并且通过移除重复的事件监听器来提高性能
const addUniqueEventListener = (element, event, listener) => {
element.removeEventListener(event, listener);
element.addEventListener(event, listener);
};
// 监听键盘按下事件
const handleKeyDown = (event) => {
if (event.code === 'Period' && !isPeriodKeyPressed) {
isPeriodKeyPressed = true;
setPlaybackRate(PLAYBACK_RATE_FAST);
}
};
// 监听键盘释放事件
const handleKeyUp = (event) => {
if (event.code === 'Period') {
isPeriodKeyPressed = false;
setPlaybackRate(PLAYBACK_RATE_NORMAL);
}
};
// 添加事件监听器
addUniqueEventListener(document, 'keydown', handleKeyDown);
addUniqueEventListener(document, 'keyup', handleKeyUp);
献丑了