Greasy Fork

Greasy Fork is available in English.

黄金右键

按住右键→倍速播放, 松开右键→恢复原样, 灵活追剧看视频~ 支持b站、YouTube、优酷...

当前为 2020-02-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         黄金右键
// @description  按住右键→倍速播放, 松开右键→恢复原样, 灵活追剧看视频~ 支持b站、YouTube、优酷...
// @namespace    http://tampermonkey.net/
// @version      0.03
// @author       SkyJin
// @include    https://www.bilibili.com/*
// @include    https://www.youtube.com/*
// @include    https://v.youku.com/v_show/id_*
// @include    https://www.iqiyi.com/*
// @grant        none
// ==/UserScript==

(async function() {
    'use strict';

    let is_down = false
    const tryPageVideo = () => Array.prototype.find.call(document.getElementsByTagName('video'), e => e.offsetWidth > 9)
    const getPageVideo = () => {
        return new Promise(resolve => {
            const timer = setInterval(() => {
                const page_video = tryPageVideo()
                if (page_video) {
                    clearInterval(timer)
                    resolve(page_video)
                }
            }, 300);
        })
    };
    const page_video = await getPageVideo()
    console.log('获得page_video', page_video)
    const rate = 3
    const downEvent = e => {
        if (e.keyCode !== 39) return
        e.stopPropagation()

        if (is_down === true && page_video.playbackRate !== rate) {
            page_video.playbackRate = rate
            console.log('加速播放中', page_video)
        }
        is_down = true

    }
    const upEvent = e => {
        if (e.keyCode !== 39) return
        e.stopPropagation()

        is_down = false
        page_video.playbackRate = 1
    }

    document.body.addEventListener('keydown', downEvent, true)
    document.body.parentElement.addEventListener('keyup', upEvent, true)

})();