Recientemente Mozilla เปิดตัวเครื่องมือซึ่งเผยแพร่ผ่านเว็บไซต์ใหม่ (ลิงค์นี้). เรียกว่าเป็น เล่นซ้ำ Firefox Mozilla นำเสนอเป็นไฟล์ เครื่องมือแก้ไขจุดบกพร่องใหม่ ซึ่งรวมอยู่ใน Firefox เวอร์ชัน Nightly แล้ว แต่ในขณะนี้สามารถใช้งานได้กับ MacOS เท่านั้น
"เล่นซ้ำเว็บ" เป็นโครงการที่อนุญาตให้กระบวนการเนื้อหาของ Firefox บันทึกพฤติกรรมของพวกเขาและทำซ้ำในภายหลัง และย้อนกลับไปยังสถานะก่อนหน้า กระบวนการเล่นจะยังคงลักษณะการทำงานของ JS โครงสร้าง DOM การอัปเดตกราฟิกและพฤติกรรมอื่น ๆ ส่วนใหญ่ที่เกิดขึ้นระหว่างการบันทึก สามารถใช้ดีบักเกอร์ JS ของเบราว์เซอร์เพื่อตรวจสอบและควบคุมการเล่น
Mozilla พูดอย่างนั้น ไทม์ไลน์ของฟังก์ชั่นการเล่นจะแสดงจุดต่างๆแบบเรียลไทม์ เช่นข้อยกเว้นเหตุการณ์และคำขอเครือข่ายทำให้ "หยุดชั่วคราวและตรวจสอบการเล่นซ้ำ" ได้ง่าย
นอกจากนี้เนื่องจากมีการสันนิษฐานว่า นักพัฒนาควรใช้ฟังก์ชันการเล่นซ้ำ สามารถบันทึกและอ่านบันทึกของฟังก์ชั่นการเล่นได้
เนื่องจากข้อผิดพลาดที่เกิดขึ้นในการพัฒนาเว็บไม่ใช่เรื่องง่ายที่จะทำซ้ำดังนั้นจึงมักจะยากสำหรับผู้อื่นในการตรวจสอบและงานดีบักอาจไม่เสร็จช้า แต่เมื่อบันทึกการทำงานด้วยฟังก์ชั่นการเล่นและแชร์บันทึก กับคนอื่น ๆ ประสิทธิภาพก็ยอดเยี่ยมเช่นกัน
ด้วยการรวมเครื่องมือเช่น Firefox Replay Mozilla สามารถดึงดูดนักพัฒนาได้มากขึ้น ไปยังเบราว์เซอร์ของคุณ วิธีนี้จะเพิ่มจำนวนไซต์ที่ทดสอบใน Firefox
สิ่งนี้จะให้ประสบการณ์ที่ดีขึ้นสำหรับผู้ใช้ Firefox ปกติที่จะเปลี่ยนไปใช้เบราว์เซอร์ของคู่แข่ง นอกเหนือจากภาพรวมของโฮมเพจ Firefox Replay แล้วคุณยังสามารถดูข้อมูลโดยละเอียดเพิ่มเติมได้ที่ไซต์นักพัฒนา Mozilla
ในทางปฏิบัติอนุญาตให้ทำซ้ำได้ในพื้นที่ต่อไปนี้:
- ส่วนประกอบ IPC และดีบักเกอร์สามารถจัดสรรฮีปได้ดังนั้นจึงอาจแตกต่างกันระหว่างการบันทึกและการเล่น
- การสร้าง JS และสถานะภายในอื่น ๆ บางส่วนได้รับผลกระทบจากการมีอยู่ของดีบักเกอร์และการเชื่อมต่อ / เบรกพอยต์ใดที่ใช้งานอยู่ดังนั้นจึงอาจแตกต่างกันระหว่างการบันทึกและการเล่น
- ดีบักเกอร์สามารถกำหนดองค์ประกอบ GC ได้และการกำหนดองค์ประกอบ GC อื่น ๆ อาจแตกต่างกันเมื่อมีตัวดีบักเกอร์ ตัวอย่างเช่นการคอมไพล์สคริปต์เกี่ยวข้องกับการแมป
นอกจากนี้ยังมีตัวเลือกขั้นสูง:
- devtools.recordreplay.enableRewinding เมื่อปิดใช้งาน Firefox จะลงทะเบียนเพจได้เร็วขึ้นมาก ค่าเริ่มต้นจริง .
- devtools.recordreplay.fastLogpoints เมื่อเปิดใช้งาน Firefox Replay จะประเมินคะแนนบันทึกตามลำดับ จุดบันทึกไม่สามารถมีผลข้างเคียงหรือแตกต่างจากการบันทึกด้วยวิธีอื่นใดในโหมดนี้ โดยค่าเริ่มต้นเท็จ
- devtools.recordreplay.logging เมื่อเปิดใช้งาน Firefox จะบันทึกการดำเนินการเล่นซ้ำภายในในเทอร์มินัลซึ่งมีประโยชน์เมื่อทำการดีบักแฮงค์และขัดข้อง ค่าเริ่มต้นเท็จ
Web Replay ได้รวมอยู่ใน Firefox เวอร์ชันกลางคืนแล้วจนกว่าจะมีเสถียรภาพมากขึ้น แม้ว่าฟังก์ชันจะรวมอยู่ด้วย แต่จะถูกปิดใช้งานโดยค่าเริ่มต้น แต่ สามารถเปิดใช้งานได้ด้วยการตั้งค่า "devtools.recordreplay.enabled"
ฟังก์ชันใดที่เข้าถึงได้ผ่านเมนูเครื่องมือ -> นักพัฒนาเว็บและผ่านอินเทอร์เฟซการดีบักใหม่ที่เปิดใช้งานเมื่อแท็บบันทึกและการเล่นแสดงขึ้น
ดังที่กล่าวไว้ตอนต้น จนถึงตอนนี้การปรับใช้งานบน macOS แต่ Mozilla กำลังดำเนินการเพื่อใช้เครื่องมือนี้ในเวอร์ชันสำหรับ Windows. แม้ว่าสำหรับ Linux จะไม่มีการพูดถึง
Mozilla ดี ความคิดเห็นที่ใช้ได้กับระบบอื่นนั้นยากที่จะค้นพบ API ของไลบรารีระบบตั้งค่าให้สกัดกั้นในการทำให้การจัดการหน่วยความจำและส่วนหน่วยความจำสกปรกของโครงสร้างพื้นฐานการย้อนกลับทำงานได้และในการจัดการกราฟิกและเส้นทาง IPC ที่แตกต่างกันบนแพลตฟอร์มที่แตกต่างกัน