In Facebook, als je naar beneden scrolt, is de bovenste blauwe balk daar nog steeds. Is er een manier om het te verbergen wanneer ik naar beneden scrolt, net zoals Stack Exchange werkt? Op die manier word ik niet afgeleid door de rode melding tijdens het lezen, maar kan ik deze nog steeds gemakkelijk bereiken wanneer ik dat nodig heb.
Ik ben me bewust van de F.B. Purity-plug-in, maar zelfs als ik de optie Freeze Top Nav Bar heb uitgeschakeld, is die er nog steeds. Ik heb de auteur gevraagd, hij zegt dat dit komt door de standaardinstelling van Facebook. Hij is niet van plan deze functie bij te werken.
Antwoord
Normaal gesproken kun je met zoiets als dit de navigatiebalk wijzigen van position: fixed
naar een andere positiewaarde, maar Facebook doet hun site anders. In plaats van door de hele pagina te scrollen en de navigatie vast te houden, scrollen ze door alle inhoud. Het is eigenlijk een beetje een raadsel hoe ze dat doen, het moet ergens JavaScript gebruiken.
Dus je moet een gebruikerscriptmanager gebruiken zoals Tampermonkey om zoiets als het volgende te doen. Het verbergt visueel elementen op Facebook (standaard alles behalve de tijdlijn) wanneer de pagina wordt gescrolld. U kunt wijzigen wat wel of niet wordt verborgen tijdens het scrollen door de lijst te wijzigen hideElementList
. Als u alleen de navigatiebalk wilt laten verdwijnen, verwijdert u de tweede en derde invoer (inclusief de komma ervoor).
// ==UserScript== // @name Facebook nav hider // @namespace https://zachsaucier.com/ // @version 0.1 // @description Hides Facebook"s navigation bar when the page is scrolled // @author Zach Saucier // @match https://www.facebook.com/ // @grant none // ==/UserScript== (function() { "use strict"; var hideElementList = [ document.getElementById("pagelet_bluebar"), document.getElementById("leftCol"), document.getElementById("rightCol") ]; function checkScroll(timestamp) { console.log(window.pageYOffset); if(window.pageYOffset !== 0) { for(var i = 0; i < hideElementList.length; i++) { hideElementList[i].style.opacity = "0"; } } else { for(var i = 0; i < hideElementList.length; i++) { hideElementList[i].style.opacity = "1"; } } window.requestAnimationFrame(checkScroll); } window.requestAnimationFrame(checkScroll); })();
Ik ook heeft dit script geüpload naar GreasyFork voor eenvoudige installatie als je zoiets als Tampermonkey hebt geïnstalleerd.