ในบทความก่อนหน้านี้เราได้พูดคุยเกี่ยวกับเอ็นจิ้น Javascript ใหม่ ซึ่งผู้คนของ Mozilla ได้ทำงานสำหรับ Firefox 70 เวอร์ชันถัดไปซึ่งจะมาถึงในเดือนตุลาคมปีหน้า (คุณสามารถอ่านหมายเหตุได้ใน ลิงค์ต่อไป). ในบทความนี้เราจะพูดถึงการประกาศของ Mozilla เกี่ยวกับการใช้ Firefox Add-on ที่อ้างอิงจาก WebExtensions API ซึ่งนักพัฒนา Mozilla ทำให้ตำแหน่งของพวกเขาเป็นที่รู้จัก ซึ่งใน พวกเขาไม่ได้ตั้งใจที่จะปฏิบัติตาม Chrome Plugin Manifest รุ่นที่สามที่กำลังจะมาถึง
ด้วยเหตุนี้พวกเขาจึงทำให้ทราบว่าโดยเฉพาะอย่างยิ่ง Firefox จะยังคงสนับสนุนโหมดการบล็อก webRequest APIซึ่งช่วยให้คุณสามารถเปลี่ยนเนื้อหาที่ได้รับการยอมรับได้ทันทีและเป็นที่ต้องการในระบบบล็อคโฆษณาและระบบกรองเนื้อหา
แนวคิดหลักของการเปลี่ยนไปใช้ WebExtensions API คือการรวมกันของเทคโนโลยีการพัฒนาปลั๊กอินสำหรับ Firefox และ Chrome ดังนั้นในรูปแบบปัจจุบัน Firefox จึงเข้ากันได้เกือบ 100% กับรายการ Chrome เวอร์ชันที่สองในปัจจุบัน
ไฟล์ Manifest กำหนดรายการคุณสมบัติและทรัพยากรที่มีให้ สำหรับการเติมเต็ม เนื่องจากการแนะนำมาตรการที่เข้มงวดลนักพัฒนาของ ปลั๊กอินในไฟล์ Manifest เวอร์ชันที่สาม Mozilla จะละทิ้งการปฏิบัติตามไฟล์ Manifest อย่างสมบูรณ์และจะไม่ถ่ายโอนการเปลี่ยนแปลงไปยัง Firefox ที่ละเมิดความเข้ากันได้ของปลั๊กอิน
โปรดจำไว้ว่าแม้จะมีการคัดค้านทั้งหมด Google ก็วางแผนที่จะยุติการสนับสนุน Chrome ในโหมดที่บล็อกโหมด WebRequest API โดย จำกัด ให้อยู่ในโหมดอ่านอย่างเดียวเท่านั้นและเพื่อเสนอคุณลักษณะการกรองเนื้อหาที่เปิดเผยใหม่ของ declarativeNetRequest API
หาก webRequest API อนุญาตให้คุณเชื่อมต่อคอนโทรลเลอร์ของคุณเองด้วยการเข้าถึงคำขอเครือข่ายแบบเต็มรูปแบบและสามารถปรับเปลี่ยนการรับส่งข้อมูลได้ทันที DeclarativeNetRequest API ใหม่จะให้การเข้าถึงเอ็นจิ้นการกรองในตัวแบบสากลนอกกรอบที่ประมวลผลอย่างอิสระ กฎของการบล็อกไม่อนุญาตให้ใช้อัลกอริทึมการกรองของตัวเองและไม่อนุญาตให้กฎที่ซับซ้อนทับซ้อนกันตามเงื่อนไข
Mozilla ยังประเมินความสะดวกในการย้ายไปยัง Firefox เพื่อรองรับการเปลี่ยนแปลงอื่น ๆ จากรายการ Chrome เวอร์ชันที่สามซึ่งละเมิดการสนับสนุนปลั๊กอิน:
- La การเปลี่ยนไปใช้การดำเนินการของพนักงานบริการ ในรูปแบบของกระบวนการพื้นหลังสิ่งที่จะต้องมีก็คือนักพัฒนาเปลี่ยนรหัสของส่วนเพิ่มเติมบางอย่าง
แม้ว่าวิธีการใหม่จะเหมาะสมกว่าในแง่ของประสิทธิภาพ แต่ Mozilla กำลังพิจารณาที่จะรักษาการสนับสนุนสำหรับการเรียกใช้หน้าพื้นหลัง - รูปแบบการขออนุญาตแบบละเอียดใหม่: ไม่สามารถเปิดใช้งานปลั๊กอินได้ทันทีสำหรับทุกหน้า (สิทธิ์ "all_urls" จะถูกลบออก) แต่จะใช้ได้เฉพาะในบริบทของแท็บที่ใช้งานอยู่นั่นคือผู้ใช้จะต้องยืนยันว่าปลั๊กอินทำงานสำหรับแต่ละไซต์ ในส่วนนี้ Mozilla กำลังสำรวจวิธีเสริมสร้างการควบคุมการเข้าถึงโดยไม่รบกวนผู้ใช้ตลอดเวลา
- การเปลี่ยนแปลงในการประมวลผลแอปพลิเคชันข้ามแหล่งกำเนิด: ตามรายการใหม่ข้อ จำกัด สิทธิ์เดียวกันจะนำไปใช้กับสคริปต์การประมวลผลเนื้อหาในหน้าหลักสคริปต์เหล่านี้ถูกแทรกเข้าไป (ตัวอย่างเช่นหากเพจไม่มีการเข้าถึง API ตำแหน่งปลั๊กอินของสคริปต์จะไม่ได้รับ การเข้าถึงนี้) การเปลี่ยนแปลงนี้มีแผนที่จะนำไปใช้ใน Firefox
- ข้อห้ามของการเรียกใช้รหัสที่ดาวน์โหลดจากเซิร์ฟเวอร์ภายนอก (เรากำลังพูดถึงสถานการณ์ที่ปลั๊กอินโหลดและรันโค้ดภายนอก) Firefox ใช้การบล็อกโค้ดภายนอกอยู่แล้วและนักพัฒนา Mozilla ยินดีบังคับใช้การป้องกันดังกล่าวโดยใช้เทคนิคการติดตามการดาวน์โหลดโค้ดเพิ่มเติมที่มีให้ในไฟล์ Manifest เวอร์ชันที่สาม
Fuente: https://blog.mozilla.org