您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hides the top masthead initially and shows it when mousing over the top of the page (excluding fullscreen mode).
// ==UserScript== // @name YouTube show/hide top header search bar // @namespace https://github.com/azizLIGHT // @version 1.2 // @description Hides the top masthead initially and shows it when mousing over the top of the page (excluding fullscreen mode). // @match https://www.youtube.com/watch?v=* // @grant GM_addStyle // @author azizLIGHT // @homepageURL https://github.com/azizLIGHT/youtube-show-hide-top-bar // @supportURL https://github.com/azizLIGHT/youtube-show-hide-top-bar/issues // @license MIT // ==/UserScript== (function() { 'use strict'; var delayTimer; var isFullscreen = false; var isLeavingFullscreen = false; function hideTop() { var mastheadContainer = document.getElementById('masthead-container'); mastheadContainer.style.display = 'none'; var header = document.querySelector('ytd-app'); header.style.transitionDuration = isLeavingFullscreen ? '0s' : '0.3s'; header.style.marginTop = isFullscreen ? '0' : '-50px'; } function showTop() { var mastheadContainer = document.getElementById('masthead-container'); mastheadContainer.style.display = ''; // Restores the default display property var header = document.querySelector('ytd-app'); header.style.transitionDuration = '0.3s'; header.style.marginTop = ''; // Resets the margin-top property } function checkFullscreen() { isFullscreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; if (isFullscreen) { hideTop(); } else if (isLeavingFullscreen) { hideTop(); isLeavingFullscreen = false; } } setTimeout(function() { hideTop(); checkFullscreen(); document.addEventListener('mousemove', function(event) { if (isFullscreen) { return; } var target = event.target; var isSearchBox = target.closest('#masthead-container #search'); if (isSearchBox) { return; } var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var mouseY = event.clientY; if (scrollTop === 0 && mouseY <= 50) { // Adjust the threshold as needed clearTimeout(delayTimer); showTop(); } else { clearTimeout(delayTimer); delayTimer = setTimeout(function() { hideTop(); }, 250); // after mousing away, delay 250 ms before hiding the top bar } }); }, 5000); // Delay 5 seconds before initial hide happens // Add CSS for smooth transition var css = ` ytd-app { transition: margin-top 0.3s ease; } `; var style = document.createElement('style'); style.appendChild(document.createTextNode(css)); document.head.appendChild(style); // Check fullscreen mode on resize window.addEventListener('resize', checkFullscreen); document.addEventListener('fullscreenchange', checkFullscreen); document.addEventListener('mozfullscreenchange', checkFullscreen); document.addEventListener('webkitfullscreenchange', checkFullscreen); document.addEventListener('msfullscreenchange', checkFullscreen); // Track leaving fullscreen mode document.addEventListener('keydown', function(event) { if (event.key === 'Escape' || event.key === 'F' || event.detail === 2) { isLeavingFullscreen = true; setTimeout(checkFullscreen, 0); // Check immediately after leaving fullscreen } }); })();