惱人的自動重整

在 Facebook 首頁(動態消息),如果離開分頁或閒置一段時間再回來,就有機會碰到自動重新整理,會把原本牆上的東西全部消掉。

動態消息會出現什麼內容是 Facebook 決定的,也沒有順序,所以一旦重刷就很難找回原本在看的文章,至少必須先看它推給你的垃圾。

參考 reddit 討論 How do I turn off auto-refresh on my feed when I click out of my Facebook tab? : r/facebook 有提到一個對策,就是裝 Always Active Window 瀏覽器擴充,讓網頁「偵測 inactive」的各種機制無效。 實測確實有用,不過產品本身不盡完善,例如無法調整開關時機(例如只對 Facebook 開啟),副作用不小。

旁門左道 user script

爬了網頁原始碼,發現某個內部細節可以利用,實測一陣子有效,就放出來記錄。
不過臉書隨時改版就可能壞掉,能撐一天是一天。

Script 放在 Greasy Fork → Facebook 不要自動重新整理
原始碼也有放在 Github

萬一壞掉時的例外處理,會出現如下畫面(網頁左下角的提示框)

例外處理畫面,版本 1.0.0

臉書各種激怒人 UI

Facebook 故意的吧,為了營業目標,讓使用者痛苦也無所謂。

  • 留言被過濾,無法預設顯示「所有留言」

    留言點開時,預設會是「最相關」排序,也就是會被過濾而看不到所有留言。

    介面還會顯示

    你選擇了「最相關」,因此系統可能已過濾掉部分留言。
    不是啊,根本沒得選擇啊!

    留言點開時,顯示已選擇「最相關」所以被過濾 甚至有時明明有 N 則留言,點開卻顯示 0 則

    使用者無法調整,只能每篇文章點開後,再手動改成「所有留言」。

    這樣做 Facebook 可以控制留言的可見性,而每次有人點「所有留言」時,也能拿這些回饋了解使用者行為。

    已知有一些 user script 解方,例如 FB全部留言小幫手FB 預設使用所有留言,基本上都要偵測頁面出現「最相關」之類字眼,再模擬點選「所有留言」的動作。 因為某種「維護起來太苦了」的感受,我目前是沒有使用的。

  • Reels(短影片)沒有控制元件

    短影片沒有進度條可以拉,只能從頭看到完。

    短影音的服務基本上都是這樣,本來就不是要給人方便取得資訊。 對策就是不要看,然而 Facebook 硬推的東西,使用者是無法拒絕的。

    清理垃圾內容的武器,目前看起來比較厲害的是 zbluebugz/facebook-clean-my-feeds,實作也是辛苦地剖析網頁,所以我也還沒嘗試。

    目前只有簡單用 UserCSS 擋一些東西而已:

    @-moz-document domain("www.facebook.com") {
      /* Reels(連續短片和短片)不要顯示(只隱藏內容,標題關不了) */
      div[aria-label='連續短片'][role='region'] {
        outline: 3px solid red;
        display: none;
      }
    
      div[aria-label='限時動態'] {
        display: none;
      }
    }