YouTube speed rememberer

Remembers playback speed.

目前為 2017-02-06 提交的版本,檢視 最新版本

// ==UserScript==
// @name         YouTube speed rememberer
// @version      0.2
// @description  Remembers playback speed.
// @author       gvvad
// @match        *.youtube.com/watch*
// @namespace https://gf.qytechs.cn/users/100160
// ==/UserScript==

(function() {
    'use strict';

    var pl = document.querySelector(".html5-main-video");
    if (!pl) return;

    var setLabel = function(_msg) {
        var label = document.querySelector("#_ytp-label");
        if (_msg === undefined) {
            if (label) label.parentElement.removeChild(label);
            return;
        }
        if (label) {
            label.innerText = _msg;
            return;
        }
        var cls = document.querySelector("#movie_player").querySelector(".ytp-right-controls");

        var span = document.createElement('span');
        span.setAttribute('id','_ytp-label');
        span.setAttribute('class','ytp-button');
        span.onclick = function() {
            pl.playbackRate = 1;
            pl.onratechange();
        };
        span.innerText = _msg;

        cls.insertBefore(span, cls.firstChild);
    };

    var setSpeedLabel = function(_rate) {
        if (_rate == 1) {
            setLabel();
        } else {
            setLabel('x' + _rate);
        }
    };
    
    var rate = 1.0;
    var srate = localStorage.getItem("pl-rate");
    rate = parseFloat(srate);
    rate = (isNaN(rate))? 1.0 : rate;
    
    pl.onratechange = function() {
        localStorage.setItem("pl-rate", this.playbackRate);
        rate = this.playbackRate;
        setSpeedLabel(this.playbackRate);
    };
    
    pl.oncanplay = function() {
        if (rate != 1.0) {
            pl.playbackRate = rate;
        }
    };
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址