下にスクロールするときにFacebookの上部のナビゲーションバーを非表示にするにはどうすればよいですか?

Facebookでは、下にスクロールしても、上部の青いバーがまだそこにあります。 Stack Exchangeの動作と同じように、下にスクロールするときに非表示にする方法はありますか?そうすれば、読んでいるときに赤い通知に気を取られることはありませんが、必要なときに便利に連絡することができます。

私はF.B.を知っています。 Purityプラグインですが、[トップナビゲーションバーをフリーズ]オプションをオフにしても、まだそこにあります。著者に聞いたところ、「Facebookのデフォルトのためです。彼はこの機能を更新する予定はありません。

Firefoxを使用しています。 ここに画像の説明を入力

回答

通常、このようなものを使用すると、ナビゲーションバーをposition: fixedから別の位置の値に変更できますが、Facebookのサイトの動作は異なります。ページ全体をスクロールしてナビゲーションを固定したままにする代わりに、すべてのコンテンツをスクロールします。実際、その方法はややこしいので、どこかでJavaScriptを使用している必要があります。

したがって、タンパーモンキー次のような操作を行います。ページをスクロールすると、Facebookの要素(デフォルトではタイムラインを除くすべて)が視覚的に非表示になります。リストを変更することで、スクロールで非表示にするものと非表示にするものを変更できますhideElementList。ナビゲーションバーのみを非表示にする場合は、2番目と3番目のエントリ(前のコンマを含む)を削除します。

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

私もこのスクリプトを GreasyFork にアップロードして、Tampermonkeyのようなものがインストールされている場合に簡単にインストールできるようにしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です