開發人員工具除錯技巧
再開發過程難免會遇到瓶頸或找不到哪裡有問題,此時就需要開發人員工具進行除錯解决,
現有瀏覽器大部分都有開發人員工具,基本操作上幾乎大同小異。
以下使用 Chrome 開發人員工具練習 :
開啟開發人員工具
- 按下
F12
( Ctrl + Shift + I ) - 點選「自訂及管理Google Chrome」–>「更多工具」–>「開發人員工具」
開發人員工具基本操作
練習
ex.1 比較檢視網頁原始碼與檢查元素差異
- 檢視網頁原始碼 是伺服器傳送給瀏覽器最原始最乾淨的內容。
- 檢查 是執行過JavaScript後渲染後的顯示結果。
按滑鼠右鍵
ex.2 編輯 HTML 元素及屬性
選取 HTML 標籤後 :
- 右鍵選取「Edit as HTML」可以編輯HTML內容。
- 右鍵選取「Copy > Copy element」可以複製 HTML 標籤。
- 右鍵選取「Copy > Paste element」可以貼上 HTML 標籤。
- 按住不放並且拖曳即可移動 HTML 標籤。
- 按下 Delete 鍵即可刪除 HTML 標籤。
ex.3 編輯 CSS 樣式及屬性
- 在樣式的空白處滑鼠左鍵按一下,可新增CSS屬性。
- 將CSS屬性名稱前面勾選取消,即取消該屬性效果。
- 將CSS屬性名稱刪除即可刪除。
- 如果CSS屬性有出現刪除線,表示此CSS屬性被權重較重的條件覆蓋。
ex.4 HTTP 狀態碼與網路狀態
當我們在瀏覽器上輸入一個網址並按下 Enter 鍵後,瀏覽器會將所有資訊放在 HTTP 封包的 header 中,
傳送到伺服器上,經過伺服器處理過後,伺服器也會將資訊放在 HTTP 封包的 header 中傳送回來。
使用開發人員工具 Network 功能,就可查看這些 HTTP 封包的 header 資訊。
Network 主要功能就是可以查看伺服器傳送與接收的相關資訊,
例如檔案名稱、傳送方式、狀態碼、檔案類型、引發位置、檔案大小、花費時間等等。
以下為常見狀態碼 ( Status) :
- 狀態碼 200 : 請求成功。訊息代表用戶端要求處理成功或伺服器端成功回傳網頁。
- 狀態碼 301 : 永久轉址。永久轉址會自動將要求者(用戶端)導向新網址。
- 狀態碼 302 : 短暫轉址。短暫轉址類似於永久轉址,會自動將要求者(用戶端)導向另一個網址。
- 狀態碼 304 : 未變動或未修改。用戶端要求網頁自上次後未經過任何修改,當伺服器端傳回該回應時,並不會傳回該網頁內容。
- 狀態碼 404 : 請求失敗。用戶端要求存取襠案或網頁已移動或可能不存在。
- 狀態碼 500 : 伺服器錯誤,無法回應,伺服器端內部發生錯誤,導致無法執行用戶端要求。
HTTP 狀態碼指的是從伺服器端回應(HTTP Response)的狀態,對於狀態的分類可區分三個層級,分別用三個數字表示,第一個數字為大類、第二個數字為中類、第三個數字為小類。
- 1xx - 參考資訊 (Informational)
- 2xx - 成功 (OK) ex. 200 - 確定。 用戶端要求成功。
- 3xx - 重新導向 (Redirection)
- 4xx - 用戶端錯誤 (Client Error) ex. 404 - 找不到。
- 5xx - 伺服器錯誤 (Server Error)
ex.5 還原程式碼格式化排版
遇到有壓縮過的程式碼,可以使用開發工具中的 Source
標籤的括號按鈕,還原程式碼觀看。
壓縮目的是為了節省檔案大小,讓傳輸更快速。
- 壓縮大約可以節省 30 ~ 40% 的檔案空間
- 壓縮會去除空白,空白是為了閱讀方便,但程式不需要。
- 換行部分也會串在一起。
- 變數也會換名稱,換成比較簡易,也是為了節省空間。
還原程式碼功能僅能還原排版格式,變數無法還原壓縮前的名稱。
ex.6 以往使用 alert 顯示資料
以前除錯都會用 alert 來中斷跟顯示資料。
ex.6 練習
index.html
1 | <ul class="page"> |
all.js
1 | $(function () { |
- for (var i = 0; i < 3; i++) 使用迴圈。
- alert(“i=” + number); 用
alert
檢查 i 的目前數字。 - $(“.page li:last”).before() 指定 li:last 最後的 li 前面用
.before
: 選擇指定元素之前插入元素。 - 陸續插入數字,直到迴圈結束。