โซลูชันที่ 1: กรอบ blackboxing
ใช้งานได้ดีการตั้งค่าน้อยที่สุดและไม่มีบุคคลที่สาม
ตามเอกสารของ Chrome :
จะเกิดอะไรขึ้นเมื่อคุณ blackbox สคริปต์
ข้อยกเว้นที่ส่งออกมาจากรหัสห้องสมุดจะไม่หยุดชั่วคราว (หากเปิดใช้งานการยกเว้นในข้อยกเว้น) การก้าวเข้า / ออก / ผ่านข้ามรหัสห้องสมุดจุดพักการฟังเหตุการณ์จะไม่หยุดลงในรหัสห้องสมุดเครื่องดีบักจะไม่หยุดพักจุดพักใด ๆ รหัส. ผลลัพธ์สุดท้ายคือคุณกำลังดีบักรหัสแอปพลิเคชันของคุณแทนที่จะเป็นทรัพยากรบุคคลที่สาม
นี่คือขั้นตอนการทำงานที่อัปเดตแล้ว:
- เปิดเครื่องมือนักพัฒนาซอฟต์แวร์ Chrome ( F12หรือ⌘+ ⌥+ i) ไปที่การตั้งค่า (มุมขวาบนหรือF1) ค้นหาแท็บทางด้านซ้ายที่เรียกว่า " Blackboxing "
- นี่คือที่ที่คุณวางรูปแบบRegExของไฟล์ที่คุณต้องการให้ Chrome ละเว้นเมื่อทำการดีบัก ตัวอย่างเช่น:
jquery\..*\.js
(glob รูปแบบ / มนุษย์แปลjquery.*.js
)
- หากคุณต้องการข้ามไฟล์ที่มีหลายรูปแบบคุณสามารถเพิ่มไฟล์โดยใช้ไพพ์
|
, เช่น: jquery\..*\.js|include\.postload\.js
(ซึ่งทำหน้าที่เหมือน "หรือรูปแบบนี้" เพื่อพูดหรือเพิ่มไฟล์ต่อไปด้วยปุ่ม "เพิ่ม"
- ตอนนี้ไปที่โซลูชัน 3 ที่อธิบายไว้ด้านล่าง
เคล็ดลับโบนัส! ฉันใช้Regex101เป็นประจำ (แต่มีอื่น ๆ อีกมากมาย:)เพื่อทดสอบรูปแบบ regex ที่เป็นสนิมของฉันอย่างรวดเร็วและค้นหาตำแหน่งที่ฉันผิดด้วยดีบักเกอร์ regex ทีละขั้นตอน หากคุณยังไม่ "คล่องแคล่ว" ในนิพจน์ปกติฉันขอแนะนำให้คุณเริ่มใช้เว็บไซต์ที่ช่วยให้คุณเขียนและแสดงภาพได้เช่นhttp://buildregex.com/และhttps://www.debuggex.com/
คุณยังสามารถใช้เมนูบริบทเมื่อทำงานในแผงแหล่งที่มา เมื่อดูไฟล์คุณสามารถคลิกขวาในเครื่องมือแก้ไขและเลือก Blackbox Script นี่จะเพิ่มไฟล์ไปยังรายการในแผงการตั้งค่า:
โซลูชันที่ 2: เหตุการณ์ที่มองเห็น
มันเป็นเครื่องมือที่ยอดเยี่ยมที่จะมี :
Visual Event เป็น Javascriptletlet โอเพนซอร์สซึ่งให้ข้อมูลการดีบักเกี่ยวกับเหตุการณ์ที่แนบกับองค์ประกอบ DOM กิจกรรมภาพแสดง:
- องค์ประกอบใดมีกิจกรรมที่แนบกับพวกเขา
- ประเภทของเหตุการณ์ที่แนบกับองค์ประกอบ
- รหัสที่จะเรียกใช้เมื่อมีการเรียกใช้เหตุการณ์
- ไฟล์ต้นฉบับและหมายเลขบรรทัดที่กำหนดฟังก์ชั่นที่แนบมา (เบราว์เซอร์ Webkit และ Opera เท่านั้น)
โซลูชันที่ 3: การดีบัก
คุณสามารถหยุดรหัสชั่วคราวเมื่อคุณคลิกที่ใดที่หนึ่งในหน้าเว็บหรือเมื่อมีการแก้ไข DOM ... และเบรกพอยต์ JS ชนิดอื่น ๆที่จะเป็นประโยชน์ในการรู้ คุณควรใช้blackboxingที่นี่เพื่อหลีกเลี่ยงฝันร้าย
ในตัวอย่างนี้ฉันต้องการทราบว่าเกิดอะไรขึ้นเมื่อฉันคลิกปุ่ม
เปิดเครื่องมือ Dev -> แท็บแหล่งที่มาและค้นหาขวาEvent
Listener Breakpoints
:
ขยายMouse
และเลือกclick
- ตอนนี้คลิกที่องค์ประกอบ (การดำเนินการควรหยุดชั่วคราว) และตอนนี้คุณกำลังดีบักรหัส คุณสามารถกดรหัสทั้งหมดF11(ซึ่งเป็นขั้นตอน ) หรือย้อนกลับไปสองสามครั้งในกองซ้อน อาจมีการกระโดดได้หลายตัน
โซลูชันที่ 4: คำหลักตกปลา
เมื่อเปิดใช้งานเครื่องมือ Dev คุณสามารถค้นหา codebase ทั้งหมด (รหัสทั้งหมดในไฟล์ทั้งหมด) ด้วย⌘+ ⌥+ Fหรือ:
และค้นหา#envio
หรืออะไรก็ตามที่แท็ก / คลาส / รหัสที่คุณคิดว่าจะเริ่มปาร์ตี้และคุณอาจไปได้เร็วกว่าที่คาด
ระวังบางครั้งไม่เพียงimg
แต่มีองค์ประกอบจำนวนมากซ้อนกันและคุณอาจไม่ทราบว่าองค์ประกอบใดเป็นตัวกระตุ้นรหัส
หากเป็นบิตออกจากความรู้ของคุณจะดูที่การกวดวิชาของ Chrome ในการแก้จุดบกพร่อง
Visual Event
bookmarklet มันจะตรวจจับเหตุการณ์การคลิกที่ถูกผูกไว้โดยห้องสมุดยอดนิยมและสร้างการซ้อนทับของเว็บไซต์ที่แสดงว่าเหตุการณ์ถูกผูกไว้และให้ตัวอย่างโค้ดและตำแหน่งแหล่งที่มาสำหรับแต่ละเหตุการณ์