案例

案例:讀不到資料時,畫面一直停在「載入中」

畫面顯示「載入中」看起來很正常,但如果它永遠不會結束,訪客只會以為網站壞了。這是 TrueNodes 在開發新首頁區塊時,自己測出來並修掉的問題。

這是 TrueNodes 自身的案例,不是客戶成果;內容只描述我們自己的網站。

主題
網站診斷:失敗狀態
發現與修正日期
驗證方式
真實瀏覽器在擋住資料服務的情況下實測,修改前後各跑一次
撰寫
TrueNodes 維護團隊(誠通數位 TrueLink)

原本的問題

TrueNodes 首頁新增了「近期公開討論」區,會讀取最新三篇公開貼文。讀取前先顯示「載入中…」,讀到之後換成貼文;讀取出錯時,換成「暫時無法載入討論」並提供動態牆連結。

但這段程式要等資料服務先完成初始化才會開始讀取。如果資料服務的程式庫本身就沒載入(例如被網路環境或瀏覽器擴充功能擋住),初始化完成的訊號永遠不會出現,讀取永遠不會開始,畫面就一直停在「載入中…」。原本寫好的錯誤訊息完全沒有機會顯示。

我們怎麼發現

  1. 不只測正常情況:用自動化的真實瀏覽器打開首頁,在手機、平板、桌機寬度各檢查一次,同時記錄主控台錯誤與畫面文字。

  2. 測試環境剛好擋住了資料服務:程式庫無法下載。所有寬度的結果都一樣:近期討論區停在「載入中…」,等多久都沒變。

  3. 追原因:錯誤處理只包住「讀取資料」這一步,沒有包住「等待開始讀取」這一步。

修改前後

可以核對的結果

如果你的網站也有「載入中」

  1. 列出所有等待狀態:把頁面上每一個「載入中」「處理中」「請稍候」找出來,各自寫下它在等什麼。

  2. 問三個問題:等到資料會怎樣?等到錯誤會怎樣?如果什麼都沒等到呢?第三種最常被忘記。

  3. 故意製造失敗:用開發者工具擋掉外部程式庫或 API、把網路調成很慢,或直接離線,再看畫面。

  4. 讓失敗狀態有下一步:替代訊息不要只寫「發生錯誤」,要告訴使用者可以去哪裡、做什麼。

  5. 記錄你選的時間上限:寫下為什麼是這個秒數,之後網路環境或資料量改變時才知道要不要調整。

限制與還沒做的事

可以帶走的做法:每一個「載入中」都要問一句:如果它永遠不結束,使用者會看到什麼?測試時故意擋掉外部程式庫,是最便宜的找法。

下一步:從基本資料開始檢查你的頁面

失敗狀態之外,先確認一頁網站最基本的六個地方。

閱讀網頁基本檢查教學

參考

內容依 2026-10-10 的網站現況撰寫;發現與現況不符,請透過 聯絡我們 回報。