Firefox 128+ / Firefox for AndroidMIT26 種語言
不讓 Google Analytics 統計你
它會告訴頁面裡的 Google Analytics 程式碼你已選擇退出,並以五條靜態規則攔截仍要送出的測量請求。沒有設定頁,沒有過濾規則訂閱,也沒有計數器。
addons.mozilla.org
example.com
攔截中 — 沒有資料送往 Google Analytics
排除此網站
攔截送往 Google Analytics 的資料,並告訴頁面上的 GA 程式碼你已選擇退出。
WHY THIS EXISTS
官方的退出會無聲無息地失敗
Google 官方的退出擴充套件是往頁面插入一個 <script> 元素。Firefox 會把頁面本身的 CSP 也套用到內容指令碼上,因此在 CSP 嚴格的網站上插入會被擋下,退出等於什麼都沒做。而且失敗了也不會有任何提示。本擴充套件用的是同一個官方掛鉤,只是把它放到 CSP 構不著的地方。
官方擴充套件
document.head.appendChild(script)
被 CSP 拒絕。沒有提示,GA 繼續測量。
Hakarasenai
world: "MAIN" content script @ document_start
不往 DOM 插入任何東西,所以 CSP 擋不住。
它能做什麼
- 01
LAYER 1
告訴頁面上的 Google Analytics 程式碼:你已選擇退出
_gaUserPrefs.ioo() → true
- 02
LAYER 2
攔截那些照樣要送出去的測量請求
block · /collect · /batch
- 03
ESCAPE
若某個網站因此出狀況,可用工具列按鈕單獨把它排除
已排除 — 在此網站不做任何事
不攔截的東西:googletagmanager.com 與 GA 的指令碼本身。讓它們照常載入,只是不讓它們回報,這樣網站透過 Tag Manager 驅動的其他東西仍然可用。
VERIFY
有沒有生效,你可以自己確認
打開開發者工具的網路面板,載入一個用了 GA 的頁面即可。規則與權限都在儲存庫裡。
# devtools → network
blocked google-analytics.com/g/collect
blocked analytics.google.com/g/collect
blocked stats.g.doubleclick.net/collect
# permissions
declarativeNetRequest / scripting / storage 安裝
現已上架 addons.mozilla.org,經 Mozilla 審查並簽署。一鍵安裝,更新交給 Firefox。
Firefox 128 以上,桌面版與 Android 皆可。
26 種語言,依系統設定自動選擇。