FeaturedJavaScript

แนะนำฟีเจอร์เด็ด ๆ ใน IE11 Developer Tool – ตอนที่ 1

หลายวันก่อน ผมได้ทำการลองใช้ IE 11 และพบว่ามันเริ่ม พัฒนาแล้วครับ เริ่มมีการสนับสนุน เหล่านักพัฒนามากขึ้น โดยเฉพาะ Developer Tools เครื่องมือที่ช่วยตรวจสอบ การทำงานของเว็บ เหมือน firebug ได้มีการพัฒนามากขึ้น โดยเริ่มมีการ เพิ่มฟังก์ชัน เข้ามาใหม่ เยอะเลยครับ เรียกได้ว่า ทำขึ้นมาใหม่เลย

โดยส่วนทีเราจะไปสำรวจนั้น มีอยู่ 8 ส่วนดังนี้ครับ

  1. Dom Explorer
  2. Console
  3. Debugger
  4. Network
  5. UI Responsivness
  6. Profiles
  7. Memory
  8. Emulation

ดังนั้นวันนี้ ผมจะพาเดินสำรวจ เจ้า Developer Tool ตัวนี้กัน โดยผมขอแบ่งเป็น 2 ภาคนะครับ เพราะฟีเจอร์ของมัน มันเยอะมว้ากๆ

วิธีการใช้งาน Developer Tool ใน IE11

เหมือนกับ Web Browser ตัวอื่น ๆ ครับ กด F12 หรือคลิกขวาเลือก Inspect Element เพื่อเปิด Developer Tool ขึ้นมา

dom explorer tab in ie 11 developer tools

เปิดมาก็จะเจอ DOM Explorer เป็น Tab แรก

DOM Explorer – แก้ไข HTML และ CSS ง่าย ๆ แบบ WYSIWYG

DOM Explorer จะมีหน้าที่ตรวจสอบรายละเอียดของ HTML และ CSS ซึ่งวิธีการใช้งานนั้น ไม่ยากครับ

inspect element with ie 11 developer tools

คลิกที่ไอคอนข้าง ๆ คำว่า DOM Explorer จากนั้นคลิกที่ส่วนใดก็ได้ในหน้าเว็บที่เราต้องการดูโค้ดครับ

edit html in ie 11 developer tools

พอเลือกเสร็จ เราก็สามารถแก้ไข ได้เลย ความเมพของมันคือ มี Auto-Complete ให้ด้วย ดังในรูปด้านบนครับ

edit css in ie 11 developer tools

ต่อไปเราก็ไปแก้ ไข CSS ตรงนี้จะบอกรายละเอียดว่า ตรงนี้มาจากไฟล์ไหน บรรทัดที่เท่าไหร่

computed tab in ie 11 developer tools

Tab Computed นี้จะแสดง CSS style ทั้งหมดที่จัดการ DOM Element ตัวนี้อยู่ รวมหมดทั้งที่สืบทอดมาจาก Parent Element ด้วย

layout tab in ie 11 developer tools

Tab Layout จะแสดง Diagram ของ Box model ใช้ปรับแต่ง css ตัวที่ทำหน้าที่จัดตำแหน่งทั้งบน ล่าง ซ้าย ขวา (Margin / Padding / Border นั่นเอง)

event tab in ie 11 developer tools

Tab Events จะแสดง รายชื่อของ DOM Element ที่ถูกมัดเข้ากับตัว Javascript

event tab in ie 11 developer tools

Tab Changes นี้จะใช้แสดงประวัติของการแก้ไข CSS

การใช้งาน console เพื่อจัดการ Javascript

แทบนี้จะใช้ ตรวจสอบการทำงานของ ไฟล์ HTML, CSS, Javascript และจะแสดงข้อความแจ้งเตือน ได้หลายระดับ ตั้งแต่ Info ยัน Error อย่างที่ได้ไฮไลต์ไว้ในภาพ

console section in ie 11 developer tools

ไฮไลต์ด้านล่างสุดคือ ปุ่มที่ใช้จัดการตัว ช่องกรอกข้อมูล ด้านล่าง

สิ่งที่เราสามารถทำได้ใน Tab นี้คือการ สั่งให้ Javascript ทำงานโดยตรงเลย แถมมี Auto-Complete ให้อีก ผมขอรวบรวมคำสั่งที่มีประโยชน์ มาให้เพื่อนๆ ลองก็อบไปเล่นดูนะครับ

คำสั่งด้านล่างนี้ จะอยู่ในตระกูล console นะครัพ กล่าวคือ ต้องใช้คำว่า console แล้วก้ตามด้วยจุด

  • clear – ใช้ลบข้อความใน console ออก
  • log – ใช้ตรวจสอบค่าของตัวแปร
  • trace – ใช้ในการตรวจสอบผังการทำงานของ javscript
  • dir – ใช้ในการแสดงค่าทั้งหมดของ object

การพิมพ์โค้ดลงใน Console ทีละหลายบรรทัด

ตรงช่องนี้ พอเรากรอกไปแล้ว อยากจะขึ้นบรรทัดใหม่ พอ enter ไปแล้ว มันก็จะทำงานไปเลย
แต่ถ้ากดปุ่มที่ผมไฮไลต์ไว้
single line in comnsole

ช่องจะขยายตัวขึ้นมาให้เรา ใส่สคริปได้เพิ่มขึ้น

multi line in comnsole

Debugger ตัวช่วย debug Javascript

Debugger จะช่วยเรา ตรวจสอบรายละเอียด การทำงานของ Javascript แบบละเอียด เราต้องการใช้เจ้าตัวนี้ต่อเมื่อ:

  • เกิด error โดยไม่ทราบสาเหตุ
  • ค่าที่ออกมาไม่เป็นไปตามที่ คาดหวัง
  • อยากจะรู้ว่าตัวแปร นี้ถูกใช้งานโดยฟังก์ชันไหมบ้าง
  • อยากแกะ Javascript เป็น
  • อยากเรียนรู้ Javascript แบบรวดเร็ว

ต่อไปเรามาดูวิธี การทำงานของ เจ้า Debugger เป็นส่วนๆ ไปครับ

ตรวจสอบการทำงาน ด้วย breakpoint

set dreak point in debugger

เริ่มจาก เลือกแถวที่เราจะทำการหยุด การทำงานของสคริปครับ หลังจากเลือกแล้ว รายชื่อจะมาโผล่ตรงด้านข้างที่ผมไฮไลต์ไว้

Check Box ด้านหน้าคือ ให้เราเลือกว่าจะเปิด ปิด break point นี้ไหม

สั่งให้ break point ทำงานโดยกดปุ่มดังภาพครับ

start break point in debugger

พอกดแล้ว ก็จะเป็นดังนี้ครับ

breakpoint on fire

ด้านซ้ายจะเป็นตำแหน่งที่ javascript ทำงานถึง ด้านขวา จะเป็นรายการ ค่าทั้งหมดของตัวแปร ในไฟล์นี้

ตอนนี้ เราสามารถตรวจสอบ ค่าของตัวแปรได้แบบง่ายๆ เพียงแค่เอาเมาไปวาง ไว้ที่ชื่อตัวแปร

show varible value

ต่อไปเราสามารถ สั่งให้ javascript ทำงานไปในแบบ ทีละขั้นทีละตอนได้ โดยใช้แทบเครื่องมือ ด้านบน

เข้าใจการทำงานของ Step ใน Debug

จะเห็นว่าเรามี step การ debug ที่หลากหลายมาก การที่จะไปแกะไฟล์ของคนอื่นได้นั้น เราต้องเข้าใจส่วนนี้ก่อนเลยครับ

  • step over เป็นการทำงานแบบวิ่งไปตามโค้ดแบบ บรรทัดต่อบรรทัด เมื่อมีการเรียกใช้ฟังก์ชันอื่น ตัว debuger จะไม่กระโดดเข้าไป
  • step into การทำงานเหมือน step out แต่แตกต่างที่ มันจะกระโดด ไปยังบรรทัดแรกของ ฟังก์ชันที่เจอ แล้วก็จะกลับมายัง บรรทัดที่เรียกต่อ
  • step out ง่ายๆ ครับ เจอคลาสไหนก็วิ่ง เข้าไปหมด
  • Stop on new worker ทำการหยุดเมื่อ worker ถูกสร้างขึ้น

การ Debug เฉพาะโค้ดของเรา

ถ้าเกิดเราต้องการใช้ step out แล้วต้องวิ่งเข้าไปใน jQuery หละครับ คงได้กดจนมือบวมแน่
เพื่อป้องกัน เราต้องกดปุ่มนี้ทิ้งไว้ครับ 

การจับตาดูการเปลี่ยนแปลงค่าในตัวแปร

monitor variabel value

ตอนนี้ เราสามารถจับตาดูการเปลี่ยนแปลงค่า ในตัวแปรได้แบบ ใกล้ชิดเลยครับ

การคลายโค้ดที่ถูกบีบอัด

หลายครั้งโค้ดที่โหลดมาจะ ถูกตัดช่องว่างออก เพื่อลดขนาดของไฟล์ ทำให้การไล่ ยากลำบาก

obfuscate javascript

วิธีแก้ก็ง่าย ๆ ครับ ใน IE11 Developer Tool เพียงแต่เรากดปุ่มนี้ เท่านั้น

deobfuscate javascript

บันทึกประวัติ การโหลดหน้าเว็บ ด้วย Network Tab

network tab in ie 11 developer tools

เราจะทำอะไรใน Tab นี้ได้บ้าง?

ทำได้แค่ ดูรายละเอียดของการโหลด

หลังจากสำรวจทั้งหมดแล้ว ยังพบว่า ในส่วนนี้ยังสู้ chrome และ firefox ไม่ได้ครับ ยังยิง ajax ซ้ำก็ไม่ได้ และถ้ามีการใช้งานหลาย process ก็ยังตรวจจับไม่ได้

สรุป

แม้จะยังสู้ chrome และ firefox ไม่ได้ในเรื่องฟังก์ชัน แต่ด้าน UI ได้ใจผมไปเต็มๆ ครับ สำหรับตอนหน้า เราจะไปสำรวจแทบ UI responsiveness,Profile,Memory กับ Emulation กันต่อ สำหรับตอนนี้ เริ่มจะยาวแล้ว เดี๋ยวจะเบื่อกัน สวัสดีครับ ออ ถ้าชอบก็สามารถ ติดตามผลงานอื่นๆของผม ได้ที่ laraveltut.com ครับ

krissanawat

Web Develoeper สาวก laravel บุรุษผู้เชื่อมั่นว่า การที่สอนคนอื่นไม่ได้ แสดงว่าเรายังไม่เข้าใจเรื่องนั้นจริงๆ

Related Articles

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน