LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

讓你驚奇的前端調(diào)試技巧

liguoquan
2025年2月26日 15:45 本文熱度 893
:讓你驚奇的前端調(diào)試技巧


一、部分快捷操作

1、控制臺(tái):保存堆棧信息( Stack trace )

2、使用命令Command面板

2.1、分析代碼的覆蓋率:

打開(kāi)Command面板,如下圖搜索“覆蓋”,分析首次頁(yè)面加載過(guò)程中哪些代碼執(zhí)行了,那些沒(méi)有執(zhí)行,輸出一個(gè)報(bào)告。

選擇文件可進(jìn)一步查看代碼的使用分析,紅色 = 尚未執(zhí)行,灰色 = 至少執(zhí)行了一次。

2.2、元素截圖:

輸出指定元素的截圖,包含隱藏滾動(dòng)的內(nèi)容,這個(gè)功能挺好用的。

通過(guò)Command面板:搜索“截圖”,全屏截圖、指定節(jié)點(diǎn)截圖。

元素面板中,選中元素》右鍵菜單》“捕獲節(jié)點(diǎn)屏幕截圖”。

3、復(fù)制元素

快速訪(fǎng)問(wèn)當(dāng)前元素$0$0代表在元素面板中選中元素,$1是上一個(gè),支持到$4

 copy($0) 控制臺(tái)中代碼復(fù)制當(dāng)前選素

4、快速隱藏、顯示該元素

選中元素,按下h快速隱藏、顯示該元素。

5、console對(duì)象

關(guān)于console對(duì)象,提供了很豐富的API

6、keys/values

見(jiàn)名知意。功能類(lèi)似于Object.keysObject.values

二、DOM調(diào)試技巧

當(dāng)DOM中某個(gè)元素移除或者元素屬性發(fā)生變化的時(shí)候我需要打一個(gè)斷點(diǎn),但是我不知道是代碼里哪一個(gè)地方導(dǎo)致它發(fā)生變化,或者代碼中有多個(gè)地方導(dǎo)致它發(fā)生變化,我不知道具體是哪一行代碼導(dǎo)致它發(fā)生變化時(shí),這個(gè)時(shí)候就需要用上DOM調(diào)試了

2.1、使用方法

在開(kāi)發(fā)者工具面板元素/Element中選中元素,鼠標(biāo)右擊調(diào)出面板,點(diǎn)擊發(fā)生中斷的條件/Break on,會(huì)出現(xiàn)3個(gè)選項(xiàng)

  • 子樹(shù)修改/subtree modifications 當(dāng)子元素變更時(shí)會(huì)在導(dǎo)致子元素變更的代碼處打上斷點(diǎn)
  • 屬性修改/attribute modifications 當(dāng)該元素自身屬性變更時(shí),會(huì)在屬性變更出打上斷點(diǎn)
  • 移除節(jié)點(diǎn)/node removal 當(dāng)該元素自身被移除時(shí),會(huì)在移除的代碼處打上斷點(diǎn)

以促銷(xiāo)活動(dòng)管理卡片為例:

首先給要發(fā)生變化的dom節(jié)點(diǎn)打上斷點(diǎn)

點(diǎn)擊“增加行”后,觸發(fā)斷點(diǎn),此時(shí)可能會(huì)在框架底層操作dom的時(shí)候打上斷點(diǎn),但是我們可以在函數(shù)調(diào)用棧中往上尋找,知道我們代碼中調(diào)用的地方。

2.2、查詢(xún)dom樹(shù)

·查詢(xún)方式:文本查詢(xún)/css選擇器/XPath(XML路徑語(yǔ)言(XML Path Language),它是一種用于在XML文檔中定位和選擇節(jié)點(diǎn)的語(yǔ)言。)

XPath的的使用示例:

  1. 選擇所有名稱(chēng)為title的節(jié)點(diǎn)://title
  2. 選擇ID為navdiv標(biāo)簽下的第一個(gè)ul標(biāo)簽下的所有li標(biāo)簽://div[@id='nav']/ul[1]/li

2.3、使用inspect()

可以幫助快速定位并檢查DOM中的元素

三、監(jiān)聽(tīng)

3.1、監(jiān)聽(tīng)函數(shù)

如果某個(gè)元素被綁定了事件,但點(diǎn)擊時(shí)無(wú)反應(yīng),就可以用monitorEvents來(lái)簡(jiǎn)單判斷一下綁定的事件是否觸發(fā)

3.2、監(jiān)聽(tīng)變量:活動(dòng)表達(dá)式

當(dāng)自己需要反復(fù)監(jiān)測(cè)一個(gè)變量的值時(shí),非常省事且好使

表達(dá)式支持以下類(lèi)型的值:

  1. 變量:

    • 可以是全局變量或局部作用域內(nèi)的變量
  2. 表達(dá)式:

    • 任何有效的JavaScript表達(dá)式都可以被監(jiān)視
    • 函數(shù)調(diào)用或方法返回的結(jié)果。例如,Date.now() 將返回當(dāng)前的時(shí)間戳,并且這個(gè)值會(huì)隨時(shí)間實(shí)時(shí)更新。
  3. DOM相關(guān):

    • document.activeElement:實(shí)時(shí)跟蹤當(dāng)前文檔中獲得焦點(diǎn)的元素。
    • document.querySelector(selector):通過(guò)CSS選擇器高亮任意節(jié)點(diǎn)。
    • $0:高亮當(dāng)前所選中的節(jié)點(diǎn)。
    • $0.parentElement:高亮當(dāng)前所選中的節(jié)點(diǎn)的父節(jié)點(diǎn)。

3.3、使用事件監(jiān)聽(tīng)器斷點(diǎn)

當(dāng)接手一個(gè)陌生的功能,需要修改其中的事件邏輯時(shí),我們可以在事件監(jiān)聽(tīng)器里給修改的事件打上斷點(diǎn),然后忽略掉框架文件,此時(shí)手動(dòng)點(diǎn)擊或者雙擊元素就可以找到代碼里的方法名

四、斷點(diǎn)調(diào)試

4.1、斷點(diǎn)錯(cuò)誤調(diào)試

以打開(kāi)結(jié)算單查看界面報(bào)錯(cuò)為例:

打開(kāi)控制臺(tái),選中“在遇到異常時(shí)暫停”按鈕,并將框架報(bào)錯(cuò)文件進(jìn)行“向忽略列表添加腳本”操作,控制代碼運(yùn)行到報(bào)錯(cuò)處

在調(diào)用堆棧面板,可以看到比報(bào)錯(cuò)信息里更詳細(xì)的的調(diào)用棧,在其中找到調(diào)用的入口,進(jìn)行錯(cuò)誤分析

4.2、條件調(diào)試

給重復(fù)執(zhí)行超多次的代碼的觸發(fā)加上一個(gè)條件,這樣可以避免干擾

4.3、日志斷點(diǎn)

可以讓我們少寫(xiě) console.log

五、調(diào)試樣式

當(dāng)你在頁(yè)面中使用Grid或Flex布局時(shí),可以在布局面板進(jìn)行各種操作,方便調(diào)試:

  1. 可視化編輯:當(dāng)選中一個(gè)使用Grid或Flex布局的元素時(shí),可以在樣式面板中看到Grid或Flex布局的可視化編輯器。通過(guò)拖動(dòng)和調(diào)整編輯器中的線(xiàn)條和區(qū)域,可以實(shí)時(shí)修改Grid的布局和對(duì)齊方式。
  2. 屬性編輯:除了可視化編輯外,還可以直接編輯Grid或Flex布局的相關(guān)屬性,如grid-template-rowsgrid-template-columnsgrid-gapflex-directionjustify-contentalign-items等等。修改這些屬性后,布局會(huì)實(shí)時(shí)更新。

標(biāo)簽:

作者:王小菲
鏈接:https://juejin.cn/post/7442163692652085263
來(lái)源:稀土掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
?

該文章在 2025/2/26 15:45:58 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
中文字幕有码~第一页 | 伊人色综合久久精品网 | 亚洲国产综合在线区尤物 | 色综合久久中文字幕综合网 | 亚洲成a人v欧美综合在线 | 思思99思思久久最新精品 |