2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Chrome(谷歌)瀏覽器調(diào)試教程珍藏版

 天使之翼 ` 2019-06-25

前言

 鳴謝殷老師,非常優(yōu)秀的學(xué)習(xí)資料,分享給大家,希望對大家有幫助!

                                                        JavaEE助教  殷世騰

引言

在web開發(fā)過程中,我們在寫JavaScript腳本時(shí)難免會遇到各種bug,這時(shí),我們就需要去調(diào)試我們的JavaScript腳本,然后去修改代碼。最簡單的調(diào)試方法就是使用alert方法,將可信息通過alert方法的彈窗顯示出來。但是,alert方法有幾個(gè)弊端:

1)alert方法在彈出窗口時(shí)會中斷程序;
2)在循環(huán)中使用alert()方法時(shí),如果不點(diǎn)擊alert彈窗的確定按鈕,下一個(gè)alert就不會出現(xiàn);
3)alert方法在顯示對象時(shí)永遠(yuǎn)只顯示[Object],無法看到對象中的具體細(xì)節(jié);
正是由于alert方法存在上述缺點(diǎn)導(dǎo)致了alert方法只適合一些小程序。如果想要查看JavaScript腳本的執(zhí)行過程,HTTP請求信息,執(zhí)行過程中的數(shù)據(jù)信息則需要學(xué)會使用瀏覽器的開發(fā)者工具進(jìn)行調(diào)試。

學(xué)習(xí)目標(biāo):
1.Chrome瀏覽器簡介及下載與安裝(了解);
2.瀏覽器加載Html頁面的過程(了解);
3.Chrome瀏覽器開發(fā)者工具面板的介紹(熟悉);
4.使用Chrome開發(fā)者工具調(diào)試JavaScript腳本(掌握);
5.Chrome瀏覽器的其他設(shè)置(了解);

1.瀏覽器簡介

這里寫圖片描述

瀏覽器界面:

瀏覽器的用戶界面有很多彼此相同的元素,其中包括:
用來輸入 URI 的地址欄
前進(jìn)和后退按鈕
書簽設(shè)置選項(xiàng)
用于刷新和停止加載當(dāng)前文檔的刷新和停止按鈕
用于返回主頁的主頁按鈕

瀏覽器的主要功能:

  瀏覽器的主要功能就是向服務(wù)器發(fā)出請求,在瀏覽器窗口中展示您選擇的網(wǎng)絡(luò)資源。這里所說的資源一般是指 HTML 文檔,也可以是 PDF、圖片或其他的類型。資源的位置由用戶使用 URI(統(tǒng)一資源標(biāo)示符)指定。
  瀏覽器解釋并顯示 HTML 文件的方式是在 HTML 和 CSS 規(guī)范中指定的。這些規(guī)范由網(wǎng)絡(luò)標(biāo)準(zhǔn)化組織 W3C(萬維網(wǎng)聯(lián)盟)進(jìn)行維護(hù)。
多年以來,各瀏覽器都沒有完全遵從這些規(guī)范,同時(shí)還在開發(fā)自己獨(dú)有的擴(kuò)展程序,這給網(wǎng)絡(luò)開發(fā)人員帶來了嚴(yán)重的兼容性問題。如今,大多數(shù)的瀏覽器都是或多或少地遵從規(guī)范?!?
簡而言之,就是一個(gè)獲取網(wǎng)頁,并將它顯示給用戶的工具。

瀏覽器的高層結(jié)構(gòu)

瀏覽器的主要組件為 (1.1):
用戶界面 - 包括地址欄、前進(jìn)/后退按鈕、書簽菜單等。除了瀏覽器主窗口顯示的您請求的頁面外,其他顯示的各個(gè)部分都屬于用戶界面。
瀏覽器引擎 - 在用戶界面和呈現(xiàn)引擎之間傳送指令。
呈現(xiàn)引擎 - 負(fù)責(zé)顯示請求的內(nèi)容。如果請求的內(nèi)容是 HTML,它就負(fù)責(zé)解析 HTML 和 CSS 內(nèi)容,并將解析后的內(nèi)容顯示在屏幕上。
網(wǎng)絡(luò) - 用于網(wǎng)絡(luò)調(diào)用,比如 HTTP 請求。其接口與平臺無關(guān),并為所有平臺提供底層實(shí)現(xiàn)。
用戶界面后端 - 用于繪制基本的窗口小部件,比如組合框和窗口。其公開了與平臺無關(guān)的通用接口,而在底層使用操作系統(tǒng)的用戶界面方法。
JavaScript 解釋器-用于解析和執(zhí)行 JavaScript 代碼。
數(shù)據(jù)存儲-這是持久層。瀏覽器需要在硬盤上保存各種數(shù)據(jù),例如 Cookie。新的 HTML 規(guī)范 (HTML5) 定義了“網(wǎng)絡(luò)數(shù)據(jù)庫”,這是一個(gè)完整(但是輕便)的瀏覽器內(nèi)數(shù)據(jù)庫。

我們這里談到的瀏覽器:

這里寫圖片描述

目前使用的主流瀏覽器有五個(gè):Internet Explorer、Firefox、Safari、Chrome 瀏覽器和 Opera。本文中以開放源代碼瀏覽器為例,即 Firefox、Chrome 瀏覽器和 Safari(部分開源)。根據(jù) StatCounter 瀏覽器統(tǒng)計(jì)數(shù)據(jù),目前(2011 年 8 月)Firefox、Safari 和 Chrome 瀏覽器的總市場占有率將近 60%。由此可見,如今開放源代碼瀏覽器在瀏覽器市場中占據(jù)了非常堅(jiān)實(shí)的部分。

1.1下載與安裝
下載地址:http://www.google.cn/intl/zh-CN/chrome/browser/desktop/index.html

這里寫圖片描述

安裝:傻瓜式的安裝,一路點(diǎn)擊下一步。

2.瀏覽器加載Html頁面的過程
2.1 從輸入U(xiǎn)RL到頁面加載完成都發(fā)生了什么?

這里寫圖片描述

1.處理URL:輸入 URL 后的「回車」,這時(shí)瀏覽器會對 URL 進(jìn)行檢查,首先判斷協(xié)議,如果是 http 就按照 Web 來處理,另外還會對這個(gè) URL 進(jìn)行安全檢查,然后直接調(diào)用瀏覽器內(nèi)核中的對應(yīng)方法,比如 WebView 中的 loadUrl 方法。

2.發(fā)送HTTP請求:因?yàn)榫W(wǎng)絡(luò)的底層實(shí)現(xiàn)是和內(nèi)核相關(guān)的,所以這一部分需要針對不同平臺進(jìn)行處理,從應(yīng)用層角度看主要做兩件事情:通過 DNS 查詢 IP、通過 Socket 發(fā)送數(shù)據(jù),接下來就分別介紹這兩方面的內(nèi)容。

2.1 DNS查詢:Chrome瀏覽器在啟動的時(shí)候首先會去加載你本地的host文件,如果URL中的域名在host文件中設(shè)置的有對應(yīng)的IP地址,就會直接將這個(gè)域名指向這個(gè)地址。如果host中沒有URL中輸入的域名(www.baidu.com)對應(yīng)的IP地址,瀏覽器就會去訪問DNS服務(wù)器,向DNS服務(wù)器詢問這個(gè)域名(www.baidu.com)對應(yīng)的IP地址。

2.2 通過Socket發(fā)送數(shù)據(jù):有了 IP 地址,就可以通過 Socket API 來發(fā)送數(shù)據(jù)了,這時(shí)可以選擇 TCP/IP 或 UDP 協(xié)議,HTTP 常用的是 TCP/IP 協(xié)議。Chrome此時(shí)就會使用TCP/IP傳輸協(xié)議,將URL中的信息通過HTTP協(xié)議發(fā)送到百度的服務(wù)器。

3.瀏覽器接受遠(yuǎn)程服務(wù)器響應(yīng)的數(shù)據(jù):遠(yuǎn)程服務(wù)器(百度的服務(wù)器)一般會返回給瀏覽器一個(gè)HTML(字節(jié)碼數(shù)據(jù))。瀏覽器接受到數(shù)據(jù)之后就對這些字節(jié)碼數(shù)據(jù)以指定的編碼格式進(jìn)行解碼。瀏覽器獲取編碼格式的途徑:

1)用戶設(shè)置,在瀏覽器中可以指定頁面編碼
2)HTTP 協(xié)議中
3)HTML頁面中 的 charset 屬性值

4.瀏覽器對HTML頁面進(jìn)行渲染和布局:
1).瀏覽器開始載入html代碼,發(fā)現(xiàn)<head>標(biāo)簽內(nèi)有一個(gè)<link>標(biāo)簽引用外部CSS文件;
2).瀏覽器又發(fā)出CSS文件的請求,服務(wù)器返回這個(gè)CSS文件;
3).瀏覽器繼續(xù)載入html中<body>部分的代碼,并且CSS文件已經(jīng)拿到手了,可以開始渲染頁面了;
4).瀏覽器在代碼中發(fā)現(xiàn)一個(gè)<img>標(biāo)簽引用了一張圖片,向服務(wù)器發(fā)出請求。此時(shí)瀏覽器不會等到圖片下載完,而是繼續(xù)渲染后面的代碼;
服務(wù)器返回圖片文件,由于圖片占用了一定面積,影響了后面段落的排布,因此瀏覽器需要回過頭來重新渲染這部分代碼;
5).瀏覽器發(fā)現(xiàn)了一個(gè)包含一行Javascript代碼的<script>標(biāo)簽,趕快運(yùn)行它;
6).Javascript腳本執(zhí)行了這條語句,它命令瀏覽器隱藏掉代碼中的某個(gè)<div> (style.display=”none”)。杯具啊,突然就少了這么一個(gè)元素,瀏覽器不得不重新渲染這部分代碼;
7).終于等到了</html>的到來,瀏覽器淚流滿面……
8).等等,還沒完,用戶點(diǎn)了一下界面中的“換膚”按鈕,Javascript讓瀏覽器換了一下<link>標(biāo)簽的CSS路徑;
9).瀏覽器召集了在座的各位<div><span><ul><li>們,“大伙兒收拾收拾行李,咱得重新來過……”,瀏覽器向服務(wù)器請求了新的CSS文件,重新渲染頁面。
注:win10打開host文件的方法:在運(yùn)行(win+R)中輸入:C:\Windows\System32\drivers\etc即可

2.2 JavaScript引擎

2.2.1 JavaScript引擎是什么?
“JavaScript引擎”通常被稱作一種 虛擬機(jī)。“虛擬機(jī)”是指軟件驅(qū)動的給定的計(jì)算機(jī)系統(tǒng)的模擬器。有很多類型的虛擬機(jī),它們根據(jù)自己在多大程度上精確地模擬或代替真實(shí)的物理機(jī)器來分類。

2.2.2 JavaScript引擎是干什么的?
JavaScript的基本工作就是將開發(fā)者寫的JavaScript代碼轉(zhuǎn)換成能被瀏覽器理解甚至能在應(yīng)用程序上運(yùn)用的最優(yōu)化的快捷代碼。比方說,當(dāng)你寫了 var a = 1 + 1; 這樣一段代碼,JavaScript引擎做的事情就是看懂(解析)你這段代碼,并且將a的值變?yōu)?。

2.2.3 主要的JavaScript引擎有哪些?
WebKit的JavaScriptCore 和 Google 的 V8 引擎。

2.2.4 JavaScriptCore和V8引擎解析源代碼的過程
JavaScriptCore 執(zhí)行 一系列步驟 來解釋和優(yōu)化腳本:
1)首先它進(jìn)行詞法分析,就是將源代碼分解成一系列具有明確含義的符號或字符串。
2) 然后用語法分析器分析這些符號,將其構(gòu)建成語法樹。
3)接著四個(gè) JIT(Just-In-Time)進(jìn)程開始參與進(jìn)來,分析和執(zhí)行解析器所生成的字節(jié)碼。
簡單來說,JavaScript 引擎會加載你的源代碼,把它分解成字符串(又叫做分詞),再 把這些字符串轉(zhuǎn)換 成編譯器可以理解的字節(jié)碼,然后執(zhí)行這些字節(jié)碼。

Google 的 V8 引擎 是用 C++ 編寫的,它也能夠編譯并執(zhí)行 JavaScript 源代碼、處理內(nèi)存分配和垃圾回收。它被設(shè)計(jì)成由兩個(gè)編譯器組成,可以把源碼直接編譯成機(jī)器碼:

1) Full-codegen:輸出未優(yōu)化代碼的快速編譯器
2) Crankshaft: 輸出執(zhí)行效率高、優(yōu)化過的代碼的慢速編譯器
如果 Crankshaft 確定需要優(yōu)化的代碼是由 Full-codegen 生成的未優(yōu)化代碼,它就會取代 Full-codegen,這個(gè)過程叫做“crankshafting”。
一旦編譯過程中產(chǎn)生了機(jī)器代碼,引擎就會向?yàn)g覽器暴露所有的數(shù)據(jù)類型、操作符、對象、在 ECMA 標(biāo)準(zhǔn)中指定的函數(shù)、或任何運(yùn)行時(shí)需要使用的東西,NativeScript 就是如此。

3.Chrome瀏覽器的開發(fā)者工具面板介紹

這里寫圖片描述

3.1 Chrome瀏覽器開發(fā)者工具的打開方式:
1)功能鍵F12或者Ctrl+Shift+j或者Ctrl+Shift+j打開;
2)打開瀏覽器右上角用戶設(shè)置下拉菜單,選擇更多工具,再選擇開發(fā)者工具即可打開開發(fā)者工具。

這里寫圖片描述

3.2 開發(fā)者工具的工具欄中常用面板介紹

這里寫圖片描述

Elements:查找網(wǎng)頁源代碼HTML中的任一元素,手動修改任一元素的屬性和樣式且能實(shí)時(shí)在瀏覽器里面得到反饋。
Console:記錄開發(fā)者開發(fā)過程中的日志信息,且可以作為與JS進(jìn)行交互的命令行Shell。

Sources: Sources功能面板是資源面板,他主要分為四個(gè)部分,四個(gè)部分并不是獨(dú)立的,他們互相關(guān)聯(lián),互動共同實(shí)現(xiàn)一個(gè)重要的功能:監(jiān)控js在執(zhí)行期的活動。簡單來說就是斷點(diǎn)啦。

Network:從發(fā)起網(wǎng)頁頁面請求Request后分析HTTP請求后得到的各個(gè)請求資源信息(包括狀態(tài)、資源類型、大小、所用時(shí)間等),可以根據(jù)這個(gè)進(jìn)行網(wǎng)絡(luò)性能優(yōu)化。
Timeline:記錄并分析在網(wǎng)站的生命周期內(nèi)所發(fā)生的各類事件,以此可以提高網(wǎng)頁的運(yùn)行時(shí)間的性能。
Profiles:如果你需要Timeline所能提供的更多信息時(shí),可以嘗試一下Profiles,比如記錄JS CPU執(zhí)行時(shí)間細(xì)節(jié)、顯示JS對象和相關(guān)的DOM節(jié)點(diǎn)的內(nèi)存消耗、記錄內(nèi)存的分配細(xì)節(jié)。
Application:記錄網(wǎng)站加載的所有資源信息,包括存儲數(shù)據(jù)(Local Storage、Session Storage、IndexedDB、Web SQL、Cookies)、緩存數(shù)據(jù)、字體、圖片、腳本、樣式表等。
Security:判斷當(dāng)前網(wǎng)頁是否安全。
Audits:對當(dāng)前網(wǎng)頁進(jìn)行網(wǎng)絡(luò)利用情況、網(wǎng)頁性能方面的診斷,并給出一些優(yōu)化建議。比如列出所有沒有用到的CSS文件等。

3.2.1 元素(Element)面板
Element面板打開方式:
1)打開開發(fā)者工具后選擇開發(fā)者工具面板中的Element頁簽;
這里寫圖片描述

2)打開瀏覽器之后,鼠標(biāo)右鍵檢查 (火狐瀏覽器是” 審查元素”)
這里寫圖片描述

Element面板的常用功能:
1)實(shí)時(shí)編輯DOM節(jié)點(diǎn)
在Element面板的DOM樹視圖中.呈現(xiàn)出了當(dāng)前頁面中的所有的DOM節(jié)點(diǎn).鼠標(biāo)雙擊任何DOM節(jié)點(diǎn)都可以修改其中的屬性值,修改完成之后按回車鍵瀏覽器會立即顯示出修改后的效果.
注意:這種及時(shí)的修改只是臨時(shí)的修改,只能做調(diào)試用,實(shí)際應(yīng)用中往往是調(diào)試結(jié)束后再將正確的屬性值在本地代碼中修改.

這里寫圖片描述

2)實(shí)時(shí)編輯CSS樣式
在Element面板中也可以對當(dāng)前頁面的DOM元素的樣式進(jìn)行實(shí)時(shí)的修改,修改后元素的樣式立即生效.
實(shí)時(shí)修改某一DOM元素的樣式的操作步驟:
首先選中這個(gè)DOM元素.如果沒有打開開發(fā)者工具,可以在要修改的DOM元素上右鍵–>審查元素,然后選擇控制面板右側(cè)的Style即可看到當(dāng)前DOM元素的所有CSS樣式,雙擊其中的CSS屬性值就可以修改,修改后馬上生效.如果已經(jīng)打開了開發(fā)者工具,可以通過先點(diǎn)擊開發(fā)者工具面板最左側(cè)的放大鏡,然后再去點(diǎn)擊頁面上要修改的DOM元素選中這個(gè)要調(diào)試的DOM元素.此時(shí)控制面板右側(cè)的Style中就呈現(xiàn)出了當(dāng)前選中的DOM元素的CSS屬性雙擊屬性值即可修改.
注意:這種及時(shí)的修改只是臨時(shí)的修改,只能做調(diào)試用,實(shí)際應(yīng)用中往往是調(diào)試結(jié)束后再將正確的屬性值在本地代碼中修改.

這里寫圖片描述

3)打開盒子模型,調(diào)試邊框參數(shù)
點(diǎn)擊右側(cè)的Computed頁簽可以看到當(dāng)前選中的元素的盒子模型參數(shù),所有的值都是可以修改的.點(diǎn)擊不同的位置(top,bottom,left,right)就可以修改元素的padding,border,margin屬性值.也可以通過修改盒子模型中間的數(shù)據(jù)改變元素的width和height.修改的時(shí)候?yàn)g覽器中的當(dāng)前元素會響應(yīng)地變化,同時(shí)在左側(cè)Element面板中會自動添加上響應(yīng)的Stylt屬性值.當(dāng)頁面上顯示的樣式符合要求之后,即可停止修改,然后將Element中生成的屬性值復(fù)制到代碼中,樣式即可永久修改.

這里寫圖片描述

3.2.2 控制臺(Console) 面板
1)查看腳本運(yùn)行過程中的異常信息;
由于JavaScript屬于弱語言類型,語法要求不嚴(yán)謹(jǐn).并且JavaScript是解釋型語言,在代碼中輸入中文的標(biāo)點(diǎn)等錯(cuò)誤也不會有提示,只有運(yùn)行結(jié)束后才會拋出異常信息到控制臺.

這里寫圖片描述
如果想查看具體的異常信息,直接點(diǎn)擊右邊的異常信息控制臺將會把我們帶到程序中錯(cuò)誤出現(xiàn)的具體位置:

這里寫圖片描述

2)打印日志信息;

上邊說到了簡單的調(diào)試可以使用alert方法將想要看到的信息顯示在彈窗中。但是alert存在弊端:阻斷程序運(yùn)行,不能顯示對象的細(xì)節(jié)信息,彈出多個(gè)信息時(shí)必須點(diǎn)擊確定才能看到下一個(gè)彈窗的信息。這些問題使用console提供的打印日志的方法可以完美解決。
Console常用的打印日志的方法有:
A)console.log(“info”)顯示一般的基本日志信息,當(dāng)要顯示的基本日志信息太多時(shí),可以使用console.grop()方法將日志分組;
B)Console.warn(“info”)顯示帶有黃色小圖標(biāo)的警告信息;
C)Console.error(“info”)顯示帶有紅色小圖標(biāo)的錯(cuò)誤信息;
Console打印日志的使用場景:
A)在代碼中使用console.log()打印日志信息:

這里寫圖片描述
B)直接在控制臺上使用console.log()打印信息:

這里寫圖片描述

C)清除控制臺中信息的方法:

直接在控制臺上輸出console.clear()方法人后回車即可清除控制臺上的信息。還有一種方法是直接點(diǎn)擊控制臺左上方的清除日志的按鈕清除日志信息。

這里寫圖片描述

3)運(yùn)行JavaScript腳本

控制臺還有一個(gè)神奇的功能就是可以運(yùn)行你輸入的JavaScript腳本,這一點(diǎn)非常實(shí)用。
實(shí)用場景一:快速驗(yàn)證JavaScript中的方法。
將一個(gè)小數(shù)按照輸出,要求:只保留兩位小數(shù)。通過查JavaScript的API得知Number對象有一個(gè)toFixed方法可以指定小數(shù)位的長度,但是又沒有例子,最快的嘗試方法就是在控制臺上驗(yàn)證:
console.log(new Number(“3.1415926”).toFixed(2));

這里寫圖片描述

實(shí)用場景二:控制臺中輸入JavaScript方法時(shí)有提示。

通過document獲取指定id的節(jié)點(diǎn)的方法是document.getElementById(“id”)但是因?yàn)镸yEclipse,Eclipse中在寫JavaScript時(shí)可能沒提示,自己寫太痛苦而且還容易寫錯(cuò)。這時(shí),就可以在控制臺上通過方法提示來補(bǔ)全這個(gè)方法。

這里寫圖片描述
如上圖:我們不需要完整輸入方法名,根據(jù)提示使用鍵盤的上,下鍵選擇需要的方法然后回車即可。

D)Console面板中的全局搜索(快捷鍵Ctrl+Shift+F)
打開全局搜索,輸入關(guān)鍵字,能夠搜索到包含這個(gè)關(guān)鍵字的所有的文件。
應(yīng)用場景:剛到一個(gè)公司,對公司的業(yè)務(wù)不熟。登錄頁面有幾千行代碼,我只想找到登錄的那個(gè)方法。這時(shí),輸入登錄方法名就能搜索到登錄登錄方法所在的頁面。點(diǎn)擊進(jìn)去就能夠定位到這個(gè)方法了。

這里寫圖片描述

3.2.3 資源(Source) 面板
Source資源面板中顯示加載當(dāng)前頁面需要的所有資源。

這里寫圖片描述

在Source面板中可以找到當(dāng)前瀏覽器加載的頁面,然后對其中的JavaScript腳本進(jìn)行斷點(diǎn)調(diào)試。Chrome開發(fā)者工具使用中會具體說明。
3.2.4 網(wǎng)絡(luò)(NetWork) 面板
NetWork面板可以記錄頁面上的網(wǎng)絡(luò)請求的詳細(xì)信息,從發(fā)起網(wǎng)頁請求Request后分析HTTP請求后得到的各個(gè)請求資源信息(包括狀態(tài),資源信息,大小,所用時(shí)間,Request和Response等),可以根據(jù)這個(gè)進(jìn)行網(wǎng)絡(luò)性能優(yōu)化。

這里寫圖片描述

1.Controls 控制Network的外觀和功能。
2.Filters 控制Requests Table具體顯示哪些內(nèi)容。
3.Overview 顯示獲取到資源的時(shí)間軸信息。
4.Requests Table 按資源獲取的前后順序顯示所有獲取到的資源信息,點(diǎn)擊資源名可以查看該資源的詳細(xì)信息。
5.Summary 顯示總的請求數(shù)、數(shù)據(jù)傳輸量、加載時(shí)間信息。

NetWork面板的Requests Table 包含著HTTP請求和響應(yīng)的具體信息,是比較常用的一塊
?Name 資源名稱,點(diǎn)擊名稱可以查看資源的詳情情況,包括Headers、Preview、Response、Cookies、Timing。
?Status HTTP狀態(tài)碼。
?Type 請求的資源MIME類型。
?Initiator 標(biāo)記請求是由哪個(gè)對象或進(jìn)程發(fā)起的(請求源)。
?Parser: 請求由Chrome的HTML解析器時(shí)發(fā)起的。
?Redirect:請求是由HTTP頁面重定向發(fā)起的。
?Script:請求是由Script腳本發(fā)起的。
?Other:請求是由其他進(jìn)程發(fā)起的,比如用戶點(diǎn)擊一個(gè)鏈接跳轉(zhuǎn)到另一個(gè)頁面或者在地址欄輸入U(xiǎn)RL地址。
?Size 從服務(wù)器下載的文件和請求的資源大小。如果是從緩存中取得的資源則該列會顯示(from cache)
?Time 請求或下載的時(shí)間,從發(fā)起Request到獲取到Response所用的總時(shí)間。
?Timeline 顯示所有網(wǎng)絡(luò)請求的可視化瀑布流(時(shí)間狀態(tài)軸),點(diǎn)擊時(shí)間軸,可以查看該請求的詳細(xì)信息,點(diǎn)擊列頭則可以根據(jù)指定的字段可以排序。

查看具體資源的詳情
通過點(diǎn)擊某個(gè)資源的Name可以查看該資源的詳細(xì)信息,根據(jù)選擇的資源類型顯示的信息也不太一樣,可能包括如下Tab信息:
?Headers 該資源的HTTP頭信息。
?Preview 根據(jù)你所選擇的資源類型(JSON、圖片、文本)顯示相應(yīng)的預(yù)覽。
?Response 顯示HTTP的Response信息。
?Cookies 顯示資源HTTP的Request和Response過程中的Cookies信息。
?Timing 顯示資源在整個(gè)請求生命周期過程中各部分花費(fèi)的時(shí)間。
針對上面4個(gè)Tab進(jìn)行詳細(xì)講解一下各個(gè)功能:
① 查看資源HTTP頭信息
在Headers標(biāo)簽里面可以看到HTTP Request URL、HTTP Method、Status Code、Remote Address等基本信息和詳細(xì)的Response Headers
、Request Headers以及Query String Parameters或者Form Data等信息。

這里寫圖片描述

預(yù)覽響應(yīng)數(shù)據(jù)

這里寫圖片描述

③ 查看資源HTTP的Response信息
在Response標(biāo)簽里面可根據(jù)選擇的資源類型(JSON、圖片、文本、JS、CSS)顯示相應(yīng)資源的Response響應(yīng)內(nèi)容。下圖顯示的是當(dāng)選擇的資源是CSS格式時(shí)的響應(yīng)內(nèi)容。

這里寫圖片描述

④ 查看資源Cookies信息
如果選擇的資源在Request和Response過程中存在Cookies信息,則Cookies標(biāo)簽會自動顯示出來,在里面可以查看所有的Cookies信息。

這里寫圖片描述

4.Chrome開發(fā)者工具之?dāng)帱c(diǎn)調(diào)試

4.1 JavaScript腳本斷點(diǎn)調(diào)試

第一步:打開開發(fā)者工具,按F12或者在瀏覽器頁面上右鍵選擇檢查。

這里寫圖片描述

第二步:在Source面板中找到需要調(diào)試的文件。

這里寫圖片描述

第三步:設(shè)置斷點(diǎn)。

這里寫圖片描述
第四步:觸發(fā)調(diào)試部分程序的運(yùn)行,開始調(diào)試。

這里寫圖片描述

調(diào)試過程中常用的按鈕及快捷鍵:

跳到下一個(gè)斷點(diǎn):點(diǎn)擊Sources面板右側(cè)的“三角按鈕”

這里寫圖片描述
快捷鍵:F8
Ctrl+\
跳到下一步(逐步跨方法):點(diǎn)擊Sources面板右側(cè)的第二個(gè)按鈕

這里寫圖片描述
快捷鍵:F10
Ctrl+’
跳進(jìn)斷點(diǎn)處的方法中:點(diǎn)擊Sources面板右側(cè)第三個(gè)按鈕

這里寫圖片描述
快捷鍵:F11
Ctrl+;
跳出正在執(zhí)行的方法:點(diǎn)擊Sources面板右側(cè)第四個(gè)按鈕

這里寫圖片描述
快捷鍵:Shift+F11
Ctrl+Shift+;

禁用斷點(diǎn):點(diǎn)擊Sources面板右側(cè)的第五個(gè)按鈕

這里寫圖片描述

暫停在捕獲到的異常處:點(diǎn)擊Sources面板右側(cè)的第六個(gè)按鈕,然后勾選Pause On Caught Exception

這里寫圖片描述

暫停在未捕獲的異常處:點(diǎn)擊Sources右側(cè)的第六個(gè)按鈕,不勾選Pause On Caught Exception.

這里寫圖片描述
Sources面板調(diào)試過程中快捷鍵預(yù)覽:
這里寫圖片描述

查看斷點(diǎn)處,獲取的數(shù)據(jù)的值:
將鼠標(biāo)光標(biāo)停留在變量上面即可,也可以將變量賦值到Console的控制臺上打印出來。

這里寫圖片描述

這里寫圖片描述

清除斷點(diǎn):
在Source面板最右側(cè)面板中,找到Breakpoints打開,可以看到你打的斷點(diǎn)。在斷點(diǎn)列表出右鍵選擇Remove all breakpoints可以一次性刪除所有斷點(diǎn)。

這里寫圖片描述
4.2 XHR斷點(diǎn)調(diào)試

右側(cè)調(diào)試區(qū)有一個(gè) XHR Breakpoints,點(diǎn)擊+ 并輸入 URL 包含的字符串即可監(jiān)聽該 URL 的 Ajax 請求,輸入內(nèi)容就相當(dāng)于 URL 的過濾器。如果什么都不填,那么就監(jiān)聽所有 XHR 請求。一旦 XHR 調(diào)用觸發(fā)時(shí)就會在 request.send() 的地方中斷。

4.3 事件監(jiān)聽斷點(diǎn)

事件監(jiān)聽是對我們選定的是事件類型進(jìn)行監(jiān)聽,當(dāng)這個(gè)事件觸發(fā)的時(shí)候,程序就會在這個(gè)事件處停止。有助于我們快速找到某一個(gè)元素上綁定的事件。
應(yīng)用場景:我們剛接手一個(gè)項(xiàng)目時(shí),對業(yè)務(wù)不熟。想找到提交登錄事件對應(yīng)的方法,但是發(fā)現(xiàn)頁面上登錄按鈕綁定事件寫的不是很明確,而且處理登錄業(yè)務(wù)的JavaScript腳本文件有幾百行,想找到這個(gè)按鈕很不容易。此時(shí),我們就可以選定鼠標(biāo)的點(diǎn)擊事件進(jìn)行監(jiān)聽,當(dāng)我們點(diǎn)擊登錄按鈕的時(shí)候控制臺Sources面板會自動將我們帶到登錄方法處。
事件監(jiān)聽斷點(diǎn)使用步驟(以查找天貓首頁登錄方法為例):

1.首先打開京東登錄頁面找到登錄按鈕;
這里寫圖片描述

2.在登錄按鈕上右鍵屬性==》檢查 打開開發(fā)者工具,然后打開Sources面板
這里寫圖片描述

這里寫圖片描述

3.打開Sources面板右側(cè)的Event Listener Breakpoints 找到Mouse及鼠標(biāo)事件下邊的click然后勾選上。

這里寫圖片描述

  1. 點(diǎn)擊登錄按鈕,觸發(fā)鼠標(biāo)的點(diǎn)擊事件,發(fā)現(xiàn)程序中斷在JavaScript文件中,點(diǎn)擊面板下方的 “{}” 將代碼格式化一下,此時(shí)就找到了登錄按鈕觸發(fā)的點(diǎn)擊事件了。

這里寫圖片描述

此時(shí)就可以一步一步的像下跟,知道跟到天貓的登錄方法了。

5 其他設(shè)置

5.1 設(shè)置開發(fā)者工具的位置:

Chrome剛安裝好時(shí),打開開發(fā)者工具,開發(fā)者工具默認(rèn)在瀏覽器的左半邊。

這里寫圖片描述

可以通過開發(fā)者工具面板右上角的設(shè)置開發(fā)者工具在瀏覽器中出現(xiàn)的位置。

這里寫圖片描述

視圖1:開發(fā)者工具以一個(gè)獨(dú)立的窗口存在;視圖2:在瀏覽器下方顯示;視圖3:在瀏覽器右半邊顯示。

5.2 清除瀏覽器緩存的方法:

瀏覽器緩存(Browser Caching)是為了節(jié)約網(wǎng)絡(luò)的資源加速瀏覽,瀏覽器在用戶磁盤上對最近請求過的文檔進(jìn)行存儲,當(dāng)訪問者再次請求這個(gè)頁面時(shí),瀏覽器就可以從本地磁盤顯示文檔,這樣就可以加速頁面的閱覽。但是,對開發(fā)人員來說,我們修改了JavaScript腳本之后需要立即看到修改的效果,所以需要清除緩存,清除緩存常用的方法有:

1.Ctrl + F5

F5通常只是刷新本地緩存;Ctrl+F5可以把INTERNET臨時(shí)文件夾的文件刪除再重新從服務(wù)器下載,也就是徹底刷新頁面了。

2.開發(fā)者工具打開之后,快速清除緩存的方法:

開發(fā)者工具打開之后,瀏覽器刷新圖標(biāo)上右鍵會出現(xiàn)清空緩存并硬性重新加載。這一方法能夠在開發(fā)者工具打開時(shí)快速清理緩存。

這里寫圖片描述
3.Ctrl + Shift + Del 快捷鍵清除緩存。
選中地址欄中的URL

這里寫圖片描述
按快捷鍵:Ctrl + Shit + Del 會彈出一個(gè)清除瀏覽數(shù)據(jù)的彈窗,選擇要清理的數(shù)據(jù)項(xiàng)之后,點(diǎn)擊清除瀏覽數(shù)據(jù)即可。

這里寫圖片描述

5.3 禁用頁面的JavaScript腳本;
應(yīng)用場景:在開發(fā)互聯(lián)網(wǎng)電商項(xiàng)目時(shí),需要一些商品圖片,于是就去京東找到一個(gè)商品打開商品圖片之后,想復(fù)制或者將這個(gè)圖片另存為,此時(shí),發(fā)現(xiàn)右鍵后什么都沒有。
這里寫圖片描述

原因是,京東在圖片上通過JavaScript腳本禁用了鼠標(biāo)右鍵點(diǎn)擊事件。此時(shí),我們可以通過禁用當(dāng)前頁面的JavaScript事件,通過鼠標(biāo)右鍵保存圖片。

這里寫圖片描述

禁用網(wǎng)頁JavaScript事件的方法:

1)開發(fā)者工具==》Settings

這里寫圖片描述

2)勾選Debugger下的Disable JavaScript 復(fù)選框。

這里寫圖片描述

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多