YouTube Lite

Makes YouTube fancier

目前为 2015-04-24 提交的版本。查看 最新版本

// ==UserScript==
// @name         YouTube Lite
// @icon         http://s.ytimg.com/yts/img/favicon_144-vflWmzoXw.png
// @namespace    x4_ytlite
// @version      0.3.3
// @description  Makes YouTube fancier
// @author       x4fab
// @match        http://www.youtube.com/*
// @match        https://www.youtube.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

if (location.protocol === 'http:'){
    location.replace(location.href.replace(/^http:/, 'https:')); 
}

window.addEventListener('load', function (){
    var styleNode = document.createElement('style');
    styleNode.innerHTML = '\
#appbar-guide-menu{height:100vh;opacity:1;visibility:visible;left:-230px;margin-top:0;transition:opacity .25s cubic-bezier(0.4,0,0.2,1),left .25s cubic-bezier(0.4,0,0.2,1);transition-delay:.2s;border-right:1px solid #e3e3e3}\
#appbar-guide-menu:hover,#appbar-guide-menu.e-active{left:0;opacity:1;transition-delay:0}\
#appbar-guide-button-container{visibility:hidden}\
\
#masthead-positioner{position:fixed;top:-52px;opacity:1;transition:opacity .25s cubic-bezier(0.4,0,0.2,1),top .25s cubic-bezier(0.4,0,0.2,1);transition-delay:.2s;box-shadow:none}\
#masthead-positioner:hover,#masthead-positioner.e-active{top:0;opacity:1;transition-delay:0}\
\
.yt-card,.guide-flyout{box-shadow:none}\
#content{margin-top:100vh}\
#watch7-main{position:static}\
#watch7-content{z-index:100;position:relative}\
\
#footer-container{width:auto;min-width:943px;max-width:1006px;margin:0 auto;padding:0 30px}\
#footer{padding-bottom:0}\
#footer-logo{display:none}\
\
.yt-uix-expander-collapsed #watch-description-text{max-height:none}\
.yt-uix-expander-collapsed .yt-uix-expander-body{display:block!important}\
.yt-card.yt-uix-expander .yt-uix-button-expander,.yt-card .yt-uix-expander .yt-uix-button-expander{display:none!important}\
\
#player-api{position:fixed!important;top:0!important;left:0!important;right:0!important;height:100vh!important;margin:0 auto}\
.video-stream.html5-main-video{position:fixed!important;top:0!important;left:0!important;right:0!important;height:100vh!important;width:100vw!important}\
.html5-video-player{overflow:visible}\
.html5-video-content{z-index:900}\
body,.watch-stage-mode #theater-background{background-color:#000}\
\
.html5-video-controls{z-index:902;opacity:0;transition-delay:.2s}\
.html5-video-controls:hover,.html5-video-controls.e-active{opacity:1;transition-delay:0}\
\
.ytp-player-content.ytp-iv-player-content{width:0;right:0;left:auto;position:fixed;bottom:0!important;z-index:909}\
.videowall-endscreen.html5-endscreen{width:100vw;position:fixed;height:100vh;top:0;left:0}\
';
    
    function onMouseMove(e){ 
        var m = null; 
        if (e.clientY < 5){
            m = document.querySelector('#masthead-positioner');
        } else if (e.clientX < 5){
            m = document.querySelector('#appbar-guide-menu');
        } else if (e.target.tagName == 'DIV' && e.clientY > document.body.clientHeight - 5){
            m = document.querySelector('.html5-video-controls');
        }
        if (m && (m = m.classList)){
            m.add('e-active');
            clearTimeout(m.e_t);
            m.e_t = setTimeout(m.remove.bind(m,'e-active'), 1e3);
        }
    }

    function onResize(){
        var v = document.querySelector('.video-stream.html5-main-video'),
            c = document.querySelector('.html5-video-content');
        if (v && c){
            var h = v.offsetHeight / c.offsetHeight,
                k = Math.min(h, v.offsetWidth / c.offsetWidth);
            c.style.transform = 'translate(0,' + Math.round(c.offsetHeight * Math.max(h - 1, 0) * .5) + 
                    'px) scale(' + k + ',' + k + ')';
        }
    }
    
    document.onmousemove = document.onmouseout = onMouseMove;
    window.onresize = onResize;

    setTimeout(function (){
        document.querySelector('#appbar-guide-button').click();
    }, 50);

    var previousLocation = null;
    setInterval(function (){
        if (document.body.scrollTop == 52){
            document.body.scrollTop = 0;
        }

        if (previousLocation != location.href){
            if (location.href.indexOf('/watch?') != -1){
                if (!styleNode.parentNode){
                    document.body.appendChild(styleNode);
                }
            } else if (styleNode.parentNode){
                document.body.removeChild(styleNode);
            }

            onResize();
            previousLocation = location.href;
        }
    }, 50);
}, false);

QingJ © 2025

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