一段让你延年益寿的 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()
        }
    });

})();

(完)

none
最后修改于:2024年10月20日 00:46

仅有一条评论

  1. BG8JSC BG8JSC

    (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);

    献丑了

添加新评论

提醒:站长手头紧,没有配备『评论回复邮件提醒』功能
评论后,劳烦您隔一段时间回到本页面查看站长回复(一般都会回)