Firefox ได้เริ่มทดสอบรายการ Chrome เวอร์ชันที่สามแล้ว

Mozilla ได้ประกาศว่าได้เริ่มทดสอบการใช้งาน Firefox เวอร์ชันที่สามของรายการ Chrome ซึ่งกำหนดความสามารถและทรัพยากรสำหรับส่วนเสริมที่เขียนโดยใช้ WebExtensions API หากต้องการทดสอบเวอร์ชันที่สามของไฟล์ Manifest ใน Firefox 101 เบต้า คุณควรตั้งค่าพารามิเตอร์ "extensions.manifestV3.enabled" เป็น true และพารามิเตอร์ "xpinstall.signatures.required" เป็น false ในหน้า about:config หากต้องการติดตั้งส่วนเสริม คุณสามารถใช้อินเทอร์เฟซ about:debugging ไฟล์ Manifest เวอร์ชันที่สามมีกำหนดเปิดใช้งานตามค่าเริ่มต้นภายในสิ้นปีนี้

ตั้งแต่เวอร์ชัน 57 เป็นต้นไป Firefox ได้เปลี่ยนไปใช้ WebExtensions API โดยสมบูรณ์เพื่อพัฒนาส่วนเสริมและหยุดรองรับเทคโนโลยี XUL การเปลี่ยนไปใช้ WebExtensions ทำให้สามารถรวมการพัฒนาส่วนเสริมเข้ากับแพลตฟอร์ม Chrome, Opera, Safari และ Edge ได้ ทำให้การย้ายส่วนเสริมระหว่างเว็บเบราว์เซอร์ต่างๆ ง่ายขึ้น และทำให้สามารถใช้โหมดหลายกระบวนการของ การทำงาน (ส่วนเสริม WebExtensions สามารถดำเนินการในกระบวนการแยกกัน โดยแยกออกจากส่วนที่เหลือของเบราว์เซอร์) เพื่อรวมการพัฒนาส่วนเสริมเข้ากับเบราว์เซอร์อื่น Firefox จึงให้ความเข้ากันได้เกือบทั้งหมดกับรายการ Chrome เวอร์ชันที่สอง

ขณะนี้ Chrome อยู่ระหว่างดำเนินการเพื่อย้ายไฟล์ Manifest ไปใช้เวอร์ชัน 2023 และจะหยุดรองรับเวอร์ชัน XNUMX ในเดือนมกราคม XNUMX เนื่องจากเวอร์ชันที่สามของไฟล์ Manifest กำลังถูกโจมตี และจะทำลายการบล็อกเนื้อหาและส่วนเสริมด้านความปลอดภัยจำนวนมาก Mozilla จึงตัดสินใจเลิกใช้แนวทางปฏิบัติเพื่อให้แน่ใจว่าสามารถทำงานร่วมกันได้อย่างสมบูรณ์กับไฟล์ Manifest ใน Firefox และใช้การเปลี่ยนแปลงบางอย่างที่แตกต่างออกไป

ความไม่พอใจหลักต่อแถลงการณ์เวอร์ชันที่สามนั้นเกี่ยวข้องกับการแปลเป็นโหมดอ่านอย่างเดียวของ webRequest API ซึ่งทำให้สามารถเชื่อมต่อตัวจัดการของคุณเองที่สามารถเข้าถึงคำขอเครือข่ายได้อย่างเต็มที่และสามารถแก้ไขการรับส่งข้อมูลได้ทันที API นี้ใช้ใน uBlock Origin และส่วนเสริมอื่น ๆ อีกมากมายเพื่อบล็อกเนื้อหาที่ไม่เหมาะสมและให้ความปลอดภัย แทนที่จะเป็น webRequest API รายการเวอร์ชันที่สามเสนอ declarativeNetRequest API ที่มีขีดความสามารถจำกัด ซึ่งให้การเข้าถึงกลไกการกรองในตัวที่ประมวลผลกฎการบล็อกอย่างอิสระ ไม่อนุญาตให้ใช้อัลกอริธึมการกรองของตัวเอง และไม่ อนุญาตให้ตั้งกฎที่ซับซ้อนซึ่งทับซ้อนกันขึ้นอยู่กับเงื่อนไข

ในการใช้งานเวอร์ชันที่สามของรายการที่นำเสนอใน Firefox มีการเพิ่ม API ที่ประกาศใหม่สำหรับการกรองเนื้อหา แต่ไม่เหมือนกับ Chrome ตรงที่พวกเขาไม่หยุดสนับสนุนโหมดการบล็อกเก่าของการทำงานของ webRequest API คุณสมบัติอื่นๆ ของการใช้งานรายการใหม่ใน Firefox ได้แก่:

  • ไฟล์ Manifest กำหนดการแทนที่เพจพื้นหลังด้วยตัวเลือก Service Workers ซึ่งทำงานเป็นกระบวนการเบื้องหลัง (Background Service Workers) เพื่อให้มั่นใจถึงความเข้ากันได้ Firefox จะใช้ข้อกำหนดนี้ แต่จะเสนอกลไกหน้ากิจกรรมใหม่เพิ่มเติม ซึ่งเป็นที่คุ้นเคยสำหรับนักพัฒนาเว็บมากกว่า ไม่จำเป็นต้องปรับปรุงส่วนเสริมใหม่ทั้งหมด และกำจัดข้อจำกัดที่เกี่ยวข้องกับการใช้งานของพนักงานบริการ หน้ากิจกรรมจะอนุญาตให้เพิ่มหน้าพื้นหลังที่มีอยู่เพื่อให้สอดคล้องกับข้อกำหนดของรายการที่สาม ขณะเดียวกันก็รักษาการเข้าถึงความสามารถทั้งหมดที่จำเป็นในการทำงานกับ DOM ในการใช้งานไฟล์ Manifest สำหรับการทดสอบใน Firefox ขณะนี้รองรับเฉพาะหน้ากิจกรรมเท่านั้น และสัญญาว่าจะเพิ่มการสนับสนุนสำหรับโซลูชันตาม Service Workers ในภายหลัง Apple สนับสนุนข้อเสนอและใช้งานหน้ากิจกรรมใน Safari Technology Preview 136
  • รูปแบบคำขออนุญาตแบบละเอียดใหม่ - ส่วนเสริมจะไม่สามารถเปิดใช้งานได้สำหรับทุกหน้าในคราวเดียว (สิทธิ์ "all_urls" ถูกลบออก) แต่จะใช้งานได้เฉพาะในบริบทของแท็บที่ใช้งานอยู่เท่านั้น เช่น ผู้ใช้จะต้องยืนยันว่าส่วนเสริมใช้งานได้กับแต่ละไซต์ ใน Firefox คำขอเข้าถึงข้อมูลไซต์ทั้งหมดจะถือเป็นทางเลือก และการตัดสินใจขั้นสุดท้ายในการให้สิทธิ์การเข้าถึงจะกระทำโดยผู้ใช้ ซึ่งจะสามารถเลือกได้ว่าส่วนเสริมใดที่จะให้สิทธิ์การเข้าถึงข้อมูลของตนบนเว็บไซต์ใดไซต์หนึ่งโดยเฉพาะ
  • การเปลี่ยนแปลงในการจัดการคำขอข้ามที่มา - ตามรายการใหม่ สคริปต์การประมวลผลเนื้อหาจะต้องอยู่ภายใต้ข้อจำกัดการอนุญาตเดียวกันกับหน้าหลักที่ฝังสคริปต์เหล่านี้ไว้ (ตัวอย่างเช่น หากเพจไม่สามารถเข้าถึง API ตำแหน่ง ดังนั้นส่วนเสริมสคริปต์จะไม่ได้รับการเข้าถึงนี้เช่นกัน) การเปลี่ยนแปลงนี้ถูกนำไปใช้อย่างสมบูรณ์ใน Firefox
  • API ตามสัญญา Firefox รองรับ API นี้แล้ว และจะย้ายไปยังเนมสเปซ “chrome.*” สำหรับเวอร์ชันที่สามของไฟล์ Manifest
  • ห้ามเรียกใช้โค้ดที่ดาวน์โหลดจากเซิร์ฟเวอร์ภายนอก (เรากำลังพูดถึงสถานการณ์เมื่อโปรแกรมเสริมโหลดและรันโค้ดภายนอก) Firefox ใช้การบล็อกโค้ดภายนอกอยู่แล้ว และนักพัฒนา Mozilla ได้เพิ่มเทคนิคการติดตามการดาวน์โหลดโค้ดเพิ่มเติมที่นำเสนอในเวอร์ชันที่สามของไฟล์ Manifest สำหรับสคริปต์การประมวลผลเนื้อหา จะมีการกำหนดนโยบายการจำกัดการเข้าถึงเนื้อหา (CSP, นโยบายความปลอดภัยของเนื้อหา) แยกต่างหาก

ที่มา: opennet.ru

เพิ่มความคิดเห็น