本文介紹的 Chrome 開發者工具基於 Chrome 65版本,若是你的 Chrome 開發者工具沒有下文提到的那些內容,請檢查下 Chrome 的版本javascript
Chrome 開發者工具是一套內置於 Google Chrome 中的Web開發和調試工具,可用來對網站進行迭代、調試和分析css
打開 Chrome 開發者工具的方式有:java
在Chrome菜單中選擇 更多工具 > 開發者工具node
在頁面元素上右鍵點擊,選擇 「檢查」web
使用 快捷鍵 Ctrl+Shift+I (Windows) 或 Cmd+Opt+I (Mac)。更多快捷鍵https://developers.google.com/web/tools/chrome-devtools/shortcutschrome
Chrome 開發者工具主要包含如下10個部分:shell
使用 Chrome DevTools 的 Device Mode 打造移動設備優先的徹底自適應式網站安全
該模式不可替代真實設備測試網絡
切換 Device Mode 按鈕能夠打開或關閉 Device Modeapp
經過該視圖控件,你能夠設定下面兩種模式:
媒體查詢是自適應網頁設計的基本部分。要查看媒體查詢檢查器,請在三圓點菜單中點擊 Show Media queries。DevTools會在樣式表中檢測媒體查詢,並在頂端標尺中將它們顯示爲彩色條形
用彩色標記的媒體查詢示例以下:
點擊媒體查詢條形,調整視口大小和預覽適合目標屏幕大小的樣式
右鍵點擊某個條形,查看媒體查詢在 CSS 中何處定義並跳到源代碼中的定義
使用元素面板能夠自由的操做DOM和CSS來迭代佈局和設計頁面
使用 Styles
窗格能夠修改與元素關聯的 CSS 樣式
點擊 .cls 按鈕能夠查看與當前選定元素關聯的全部 CSS 類。 從這裏,您能夠執行如下操做:
您能夠在元素上手動設置動態僞類選擇器(例如 :active、:focus、:hover 和 :visited)
能夠經過兩種方式在元素上設置動態狀態:
Styles 窗格提供了一個用於向樣式規則快速添加 text-shadow、box-shadow、color 和 background-color 聲明的快捷方式
樣式規則的右下角有一個由三個點組成的圖標。您須要將鼠標懸停到樣式規則上才能看到這個圖標
將鼠標懸停到此圖標上能夠調出添加 text-shadow、box-shadow、color 和 background-color 聲明的快捷方式。
要打開 Color Picker,請在 Styles 窗格中查找一個定義顏色的 CSS 聲明(例如 color: blue)。 聲明值的左側有一個帶顏色的小正方形。 正方形的顏色與聲明值匹配。 點擊小正方形能夠打開 Color Picker
您能夠經過多種方式與 Color Picker 交互:
Elements 面板中的 DOM 樹視圖能夠顯示當前網頁的 DOM 結構。經過 DOM 更新實時修改頁面的內容和結構
兩種方式:
設置 DOM 斷點以調試複雜的 JavaScript 應用。例如,若是您的 JavaScript 正在更改 DOM 元素的樣式,請將 DOM 斷點設置爲在元素屬性修改時觸發。在發生如下一種 DOM 更改時觸發斷點:子樹更改、屬性更改、節點移除
設置子樹修改斷點:右鍵選擇某個元素,而後選擇 Break on --> subtree modifications
添加、移除或移動子元素時將觸發子樹修改斷點。例如,若是您在 main-content 元素上設置子樹修改,如下代碼將觸發斷點:
var element = document.getElementById('main-content'); //modify the element's subtree. var mySpan = document.createElement('span'); element.appendChild( mySpan );
設置屬性修改斷點:右鍵選擇某個元素,而後選擇 Break on --> attribute modifications
動態更改元素的屬性 (class, id, name) 時將發生屬性修改:
var element = document.getElementById('main-content'); // class attribute of element has been modified. element.className = 'active';
設置節點移除斷點:右鍵選擇某個元素,而後選擇 Break on --> node removal
從 DOM 中移除有問題的節點時將觸發節點移除修改:
document.getElementById('main-content').remove();
在 Event Listeners 窗格中查看與 DOM 節點關聯的 JavaScript 事件偵聽器
啓用 Ancestors 複選框時查看祖先實體事件偵聽器,即除了當前選定節點的事件偵聽器外,還會顯示其祖先實體的事件偵聽器
啓用 Framework listeners 複選框時查看框架偵聽器,DevTools 會自動解析事件代碼的框架或內容庫封裝部分,而後告訴您實際將事件綁定到代碼中的位置
在開發期間,可使用控制檯面板記錄診斷信息,或者使用它做爲 shell 在頁面上與 JavaScript 交互
若是一條消息連續重複,而不是在新行上輸出每個消息實例,控制檯將「堆疊」消息並在左側外邊距顯示一個數字。此數字表示該消息已重複的次數
若是您傾向於爲每個日誌使用一個獨特的行條目,請在 DevTools 設置中啓用 Show timestamps
因爲每一條消息的時間戳均不一樣,所以,每一條消息都將顯示在各自的行上
如下屏幕截圖中以藍色突出顯示的下拉菜單稱爲 Execution Context Selector
一般,您會看到此環境設置爲 top(頁面的頂部框架)。
其餘框架和擴展程序在其自身的環境中運行。要使用這些其餘環境,您須要從下拉菜單中選中它們。 例如,若是您要查看 <iframe>
元素的日誌輸出,並修改該環境中存在的某個變量,您須要從 Execution Context Selector 下拉菜單中選中該元素。
控制檯默認設置爲 top 環境,除非您經過檢查其餘環境中的某個元素來訪問 DevTools。 例如,若是您檢查 <iframe>
中的一個 <p>
元素,那麼,DevTools 將 Execution Context Selector 設置爲該 <iframe>
的環境。
當您在 top 之外的環境中操做時,DevTools 將 Execution Context Selector 突出顯示爲紅色,以下面的屏幕截圖中所示。 這是由於開發者不多須要在 top 之外的任意環境中操做。 輸入一個變量,期待返回一個值,只是爲了查看該變量是否爲 undefined(由於該變量是在不一樣環境中定義的),這會很是使人困惑
在源代碼面板中設置斷點來調試 JavaScript ,或者經過Workspaces(工做區)鏈接本地文件來使用開發者工具的實時編輯器
在某些狀況下,咱們須要對混淆的代碼作必定的調試,但這是咱們看到的代碼是亂成一團,毫無格式可言:
那咱們能夠點擊下方的格式化按鈕對代碼進行格式化:
當咱們知道須要調試的代碼的確切位置的時候,使用代碼行斷點
DevTools 設置代碼行斷點:
固然你也能夠在代碼中使用 debugger 來設置代碼行斷點,效果和在 DevTools 中設置是同樣的:
console.log('a'); console.log('b'); debugger; console.log('c');
當咱們知道須要調試的代碼的確切位置且在知足條件下才調試的時候,使用條件代碼行斷點
設置條件的代碼行斷點:
當您想要更改DOM節點或其子節點的代碼時,使用DOM更改斷點
設置DOM更改斷點:
當XHR的請求URL包含指定字符串時,若是要中斷,使用XHR斷點
設置XHR斷點:
當想要暫停事件偵聽器代碼時,使用事件偵聽器斷點
設置事件監聽器斷點:
當您想暫停引起捕獲或未捕獲異常的代碼行時,使用異常斷點
設置異常斷點:
調用 debug(functionName) 來給函數 functionName 進行斷點調試
function sum(a, b) { let result = a + b; // DevTools pauses on this line. return result; } debug(sum); // Pass the function object, not a string. sum();