結果解讀
可信度
每條技術都有一個可信度標籤,三個等級:
| 等級 | 顏色 | 含義 |
|---|---|---|
| 高 | 綠 | 命中了強訊號:global 變數(如 window.React)、專屬 DOM 選擇器、明確的資源 URL(如 /_next/) |
| 中 | 黃 | 命中了中等訊號:回應標頭模糊比對、CSS 類別名稱前綴、CSS 變數集合 |
| 低 | 灰 | 命中了弱訊號:通用腳本檔名兜底(如 *.min.js)、模糊正規表達式 |
在「重點」標籤下預設只看高可信度結果。
證據
卡片裡最多展示 4 行證據。常見證據包括 DOM 標記、資源 URL、回應標頭和動態載入記錄,例如:
text
- DOM 節點存在 React Fiber 標記
- 資源 URL 符合 unpkg.com/react@18.2.0/umd/react.production.min.js
- 回應標頭 X-Powered-By: Next.js遇到誤報時先看證據。它通常能說明問題出在資源規則、回應標頭規則,還是某個過寬的 DOM / class 比對。
來源
來源標籤代表這條結果是從哪裡被識別出來的:
| 來源標籤 | 來自 |
|---|---|
回應標頭 | 主文件的 HTTP 回應標頭(server / x-powered-by / set-cookie 等) |
回應標頭 · API | 當前頁面的某個 XHR / fetch 請求回應標頭 |
回應標頭 · iframe | 巢狀 iframe 的主文件回應標頭 |
動態監控 | 內容腳本 + MutationObserver 持續採集到的資源 / 動態載入的腳本 |
動態監控 · 頁面互動後 | 使用者操作後才載入的資源(彈窗、登入、支付) |
WordPress 佈景主題 | 佈景主題 style.css header 反推 |
點擊任意來源標籤會從底部開啟面板,顯示該技術、該來源對應的原始 JSON 資料子集。它會直接給出原始回應標頭、資源 URL 清單或動態快照,不需要在完整 JSON 裡翻找。
排序
預設排序規則:
- 分類索引(前端框架 → UI 框架 → 建置執行時 → CDN → ...)
- 同分類內按可信度倒序(高 → 中 → 低)
- 同可信度內按技術名稱 localeCompare
切換到具體分類時,只在該分類內排序。「重點」標籤下取所有高可信度技術;如果一個高的都沒有,就退到所有技術裡按可信度倒序取前 30 條。
重複合併
同一技術如果從多個來源都識別到(比如 React 既出現在回應標頭裡又在 DOM 裡),不會重複顯示——會合併成一條,可信度取最強的那個,證據陣列合併去重,sources 陣列列出所有命中的來源。
沒識別到不代表沒用
工具偵測的是「網頁向瀏覽器暴露了什麼線索」。如果一個站點:
- SSR 完畢後剝掉所有執行時痕跡(如 statically pre-rendered 的 Astro 站點)
- 自訂 server header 全部清空
- Bundle 檔名打了 hash 不帶框架原始名稱
外掛可能只能識別出很少內容,甚至識別不出來。這通常不是規則漏了,而是頁面沒有向瀏覽器暴露足夠線索。
前端建置線索也不等於後端執行時。比如頁面有 /_next/、/_nuxt/ 或 Vite 產物,只能說明前端建置鏈路,不應該直接推斷服務端就是 Node.js。後端語言通常要靠 Server、X-Powered-By、Cookie 名稱或框架特有回應標頭來判斷。
糾正按鈕
每條卡片的「識別不準確,點擊糾正」按鈕會開啟 GitHub Issue,自動填好以下資訊:
- 當前頁面 URL
- 這條識別結果的 JSON
- 你看到的證據
- 擴充功能版本號
描述裡說明「哪裡錯了」或「應該識別成什麼」即可。維護者會在 rules/ 下調整對應規則。