Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chrome Dev Tools 基礎技巧
Search
chph
November 03, 2017
Technology
0
87
Chrome Dev Tools 基礎技巧
afu @ PIXNET | Tech Free Talk 踢克大小事 #4 | 2017.11.03
chph
November 03, 2017
Tweet
Share
More Decks by chph
See All by chph
DevOpsDays Taipei 2017 敏捷思維分享
chph
0
100
在 Google Cloud Platform 架設你的網站伺服器並撰寫 Node.js 應用程式
chph
0
670
Intro to Progressive Web Apps
chph
1
62
淺談 Gzip
chph
0
120
Install WordPress on Linode
chph
0
160
Introduction Infrastructure - Linode 入門
chph
0
220
高速傳愛~三小時進化 PWA
chph
0
290
Optimize JavaScript execution and parse time using optimize-js
chph
0
150
Modern Web 2016 議程分享: 網站自動化測試 - 以 PIXNET 搜尋 & 美妝口碑大賞為例
chph
0
110
Other Decks in Technology
See All in Technology
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
700
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
AWS全冠したので振りかえってみる
tajimon
0
140
産業機械をElixirで制御する
kikuyuta
0
170
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
160
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.1k
IIWレポートからみるID業界で話題のMCP
fujie
0
210
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
380
「実体」で築く共通認識: 開発現場のコミュニケーション最適化 / Let's Get on the Same Page with Concrete Artifacts: Optimization of Communication in dev teams
kazizi55
0
140
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
150
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
2
610
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Six Lessons from altMBA
skipperchong
28
3.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Bash Introduction
62gerente
614
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Transcript
Chrome Dev Tools 基礎技巧 研發中心前端組 Afu
• Chrome 版本簡介 • Elements • Console • Sources •
Network • 「More tools」 • 最新功能搶先看 Agenda
v62 2017/10/17 釋出 穩定版 (stable channel) 適合一般使用者
v64.0.3255 幾乎每天更新 不穩定的開發版本 適合開發人員和嘗鮮者
https://download-chromium.appspot.com/ v64.0.3256+ 主幹版本 (master),CI 建置 沒有自動更新機制 適合開源專案貢獻者
Elements 元素
DOM Manipulation 選取元素的幾種方法: 一、在目標處滑鼠右鍵選擇「檢 查」 二、使用開發者面板第一個 inspect 按鈕,再點選目標元素 三、按 cmd
+ f 開啟搜尋文字框,輸入 CSS Selector 匹配想要的元素,例如「 #header」
選取元素時,可以: • 新增編輯刪除屬性或直接編輯 HTML • 可以用鍵盤操作,例如方向鍵走訪元素、 delete 鍵刪除元素、Ctrl-C & V
複製貼上新元素 • 複製對應的 CSS Selector (右鍵選單) • 強制套用虛擬類別,例如 :hover,讓元素套用CSS 樣式,讓滑鼠位置不被綁死,方便除錯 • 移動頁面捲軸到直接把元素顯示在視線 內垂直正中央 (右鍵選單 - Scroll into view) DOM Manipulation (左側面板)
選取元素時,可以: • 新增編輯刪除 CSS 樣式 • 了解樣式優先權順序,最上面的 element.style 最優先 (inline
style) • 知道該 Selector 的 CSS 檔案載入來源 • 了解樣式繼承關係 • 了解在 Box Model 下,邊界 (margin)、邊框 (border) 、留白 (padding) 佔據多少像素 DOM Manipulation (右側面板 Styles)
選取元素時,可以: • 了解在 Box Model 下,邊界 (margin)、邊框 (border) 、留白 (padding)
佔據多少像素 • 列出所有 CSS Property 屬性被設定的值 • 點箭頭可跳躍至定義該 CSS 樣式的行數 DOM Manipulation (右側面板 Computed)
選取元素時,可以: • 知道被綁定哪些事件,例如 click、keydown、keyup 等等 • 迅速定位至該事件是在哪個 js 檔案哪一行綁定的 •
移除綁定的事件使其無效以便除錯 • 例如綁了多個 click 事件,刪去法找出哪個造成 bug • 練習: • 在 http://cssreference.io/ 找出 JS 實作的搜尋程式碼位置 DOM Manipulation (右側面板 Event Listeners)
DOM Manipulation (右側面板 Event Listeners)
DOM Manipulation (右側面板 DOM Breakpoints) 藍色圓點
DOM Manipulation (右側面板 DOM Breakpoints) 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
Console
• $_ 最近一次的運算結果 • $0 - $4 最近五次選取的元素 • $(selector)
等同 document.querySelector() • $$(selector) 等同 document.querySelectorAll() • console 系列的 alias function • dir(), dirxml(), table() Console
Console 藍色圓點
Sources 原始碼
Sources - format code 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
Sources - format code 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
Sources - format code 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
Network 原始碼
Network 面板 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
在任一欄位按右鍵可以自訂要看哪些欄位 Network 面板
篩選 URL 包含關鍵字的 requests Network 面板 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
按住 command 可複選多種類型的 Requests 點選漏斗圖案可以取消篩選 Network 面板 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger
mode
勾選 Preserve log 可以保留 request,方便多次重新整理網頁除錯 Network 面板 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger
mode
按下 ESC 的面板 藏在「 」裡的
切換到 Animations 頁籤,重新整理網頁可以錄製 CSS 動畫 ESC 面板 / Animations 觸發元素屬性變更的程式碼敘述
暫停程式執行,進入 debugger mode
封鎖指定的網域 reqeusts,以痞客邦相片網域 pimg.tw 為例 ESC 面板 / Request blocking
切換到 Coverage 頁籤,按下錄製鈕即可見,額外作其他操作會即時更新圖表 ESC 面板 / Coverage (CSS / JS
覆蓋率)
模擬地理位置 (geolocation) ESC 面板 / Sensors
Console - Filter sidebar 更有條理地過濾 console 訊息 | Chrome 64+
限定
Console - Filter sidebar 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
Local Overrides 本地覆寫 | Chrome 64+ 限定
Sources / Overrides 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
None
Sources / Overrides 觸發元素屬性變更的程式碼敘述 暫停程式執行,進入 debugger mode
1. Chrome DevTools | Google Web Developers 2. Dev Tips
- Developer Tips by Umar Hansa 3. Code School - Discover DevTools 4. Modern Tooling, Testing, and Automation (Chrome Dev Summit 2017) 參考資料
None