Hur döljer jag det översta Nav-fältet på Facebook när man rullar nedåt?

På Facebook, när den rullar ner, finns det översta blå fältet fortfarande där. Finns det ett sätt att dölja det när du rullar ner, precis som hur Stack Exchange fungerar? På det sättet kommer jag inte att bli distraherad av det röda meddelandet när jag läser, men ändå bekvämt kunna nå det när det behövs.

Jag är medveten om F.B. Renhetsplugin, men även när jag har avmarkerat alternativet Freeze Top Nav Bar är det fortfarande kvar. Jag har frågat författaren, han säger att det är på grund av Facebooks standard. Han planerar inte att uppdatera den här funktionen.

Jag använder Firefox. ange bildbeskrivning här

Svar

Normalt kan du med något liknande ändra navigeringsfältet från position: fixed till ett annat positionsvärde, men Facebook gör sin webbplats annorlunda. Istället för att rulla hela sidan och hålla navet fast, rullar de över hela innehållet. Det är faktiskt lite förbryllande hur de gör det, det måste använda JavaScript någonstans.

Så du måste använda en användarskripthanterare som Tampermonkey att göra något som följande. Det döljer visuellt element på Facebook (som standard alla utom tidslinjen) när sidan rullas. Du kan ändra vad som döljs eller inte rullas genom att ändra listan hideElementList. Om du bara vill att navelfältet ska försvinna tar du bort den andra och tredje posten (inklusive kommatecken framför dem).

// ==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); })(); 

Jag har också laddade upp detta skript till GreasyFork för enkel installation om du har installerat något liknande Tampermonkey.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *