狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

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

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

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


一、部分快捷操作

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

2、使用命令Command面板

2.1、分析代碼的覆蓋率:

打開Command面板,如下圖搜索“覆蓋”,分析首次頁面加載過程中哪些代碼執(zhí)行了,那些沒有執(zhí)行,輸出一個報告。

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

2.2、元素截圖:

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

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

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

3、復制元素

快速訪問當前元素$0$0代表在元素面板中選中元素,$1是上一個,支持到$4

 copy($0) 控制臺中代碼復制當前選素

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

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

5、console對象

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

6、keys/values

見名知意。功能類似于Object.keysObject.values

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

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

2.1、使用方法

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

  • 子樹修改/subtree modifications 當子元素變更時會在導致子元素變更的代碼處打上斷點
  • 屬性修改/attribute modifications 當該元素自身屬性變更時,會在屬性變更出打上斷點
  • 移除節(jié)點/node removal 當該元素自身被移除時,會在移除的代碼處打上斷點

以促銷活動管理卡片為例:

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

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

2.2、查詢dom樹

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

XPath的的使用示例:

  1. 選擇所有名稱為title的節(jié)點://title
  2. 選擇ID為navdiv標簽下的第一個ul標簽下的所有li標簽://div[@id='nav']/ul[1]/li

2.3、使用inspect()

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

三、監(jiān)聽

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

如果某個元素被綁定了事件,但點擊時無反應,就可以用monitorEvents來簡單判斷一下綁定的事件是否觸發(fā)

3.2、監(jiān)聽變量:活動表達式

當自己需要反復監(jiān)測一個變量的值時,非常省事且好使

表達式支持以下類型的值:

  1. 變量:

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

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

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

3.3、使用事件監(jiān)聽器斷點

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

四、斷點調(diào)試

4.1、斷點錯誤調(diào)試

以打開結(jié)算單查看界面報錯為例:

打開控制臺,選中“在遇到異常時暫停”按鈕,并將框架報錯文件進行“向忽略列表添加腳本”操作,控制代碼運行到報錯處

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

4.2、條件調(diào)試

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

4.3、日志斷點

可以讓我們少寫 console.log

五、調(diào)試樣式

當你在頁面中使用Grid或Flex布局時,可以在布局面板進行各種操作,方便調(diào)試:

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


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

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