หน้านี้จะบันทึกช่องโหว่ของแพลตฟอร์มที่แก้ไขแล้วในระหว่างการเปลี่ยนผ่านไปใช้ Manifest V3 และตอบคำถามที่พบบ่อยเกี่ยวกับการย้ายข้อมูล
ช่องว่างของแพลตฟอร์มที่แก้ไขแล้ว
เราได้เพิ่มความสามารถต่อไปนี้เพื่อแก้ไขปัญหาที่มักเป็นอุปสรรคในการย้ายข้อมูล
- การรองรับการจัดการไฟล์ใน ChromeOS เพื่อแทนที่
chrome.fileBrowserHandler(Chrome 120) - การรองรับ User Script: อนุญาตให้ลงทะเบียน Content Script ด้วยโค้ดที่กำหนดเองด้วย userScripts API ใหม่ (Chrome 120)
- การทำงานของ Service Worker ที่มีประสิทธิภาพเพิ่มเติมสำหรับการดำเนินการบางอย่างที่ใช้เวลานานกว่า 5 นาที
- เพิ่มใน Chrome 116 สำหรับ
permissions.request(),desktopCapture.chooseDesktopMedia(),identity.launchWebAuthFlow()และmanagement.uninstall() - เพิ่มใน Chrome 118 สำหรับ
chrome.debugger
- เพิ่มใน Chrome 116 สำหรับ
- เพิ่มจำนวนชุดกฎแบบคงที่และที่เปิดใช้สำหรับ Declarative Net Request (DNR) เพิ่มชุดกฎแบบคงที่ที่เปิดใช้จาก 10 เป็น 50 และชุดกฎแบบคงที่ทั้งหมดจาก 50 เป็น 100 (Chrome 120)
- ขยายฟังก์ชันการทำงานของเอกสารนอกหน้าจอเพื่อรองรับเหตุผลเพิ่มเติมในการใช้เอกสารนอกหน้าจอ เพิ่ม
GEOLOCATIONใน Chrome 116 - การปรับปรุงการรองรับ API ของ
chrome.tabCapture(Chrome 116):- รองรับการโทร
getMediaStreamId()จาก Service Worker - รองรับการรับ
MediaStreamจากรหัสสตรีมในเอกสารนอกหน้าจอ
- รองรับการโทร
- ยืดอายุการใช้งานของ Service Worker ขณะที่มี
WebSocketการเชื่อมต่อที่ใช้งานอยู่ (Chrome 116)
คำถามที่พบบ่อยเกี่ยวกับ Manifest V3
คำถาม: เรามีแผนที่จะรองรับ Service Worker แบบถาวรไหม
คำตอบ: เหตุผลสำคัญอย่างหนึ่งในการย้ายข้อมูลจากสคริปต์พื้นหลังไปยัง Service Worker คือรูปแบบการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งมีประสิทธิภาพด้านหน่วยความจำมากกว่า ซึ่งมาจากลักษณะชั่วคราวของ Service Worker ด้วยเหตุนี้ เราจึงไม่มีแผนที่จะรองรับ Service Worker แบบถาวร อย่างไรก็ตาม เราจะยังคงปรับปรุง Service Worker ต่อไปอีกหลายอย่างเพื่อตอบสนองความต้องการเฉพาะของนักพัฒนาส่วนขยาย โดยเฉพาะอย่างยิ่งฟีเจอร์ต่อไปนี้
- เหตุการณ์ส่วนขยายและการเรียกใช้ API ทั้งหมดจะขยายอายุการใช้งานของ Service Worker
- กรณีการใช้งานที่เลือก เช่น การรับส่งข้อความดั้งเดิม จะทำให้ Service Worker ของส่วนขยายทำงานได้นานกว่า 5 นาที
คำถาม: มีวิธีเข้าถึง DOM ใน Service Worker ไหม
ตอบ: เราใช้วิธีการเดียวกับที่แพลตฟอร์มเว็บใช้ในการไม่รวมการเข้าถึง DOM ใน Web Worker (ซึ่งรวมถึง Service Worker) เพื่อรองรับกรณีการใช้งานที่ต้องมีการเข้าถึง DOM ในเบื้องหลังจาก Service Worker เราจึงได้เพิ่มความเป็นไปได้ในการมอบหมายงานในเบื้องหลังให้กับ Offscreen Document ที่มีอายุสั้นซึ่งให้สิทธิ์เข้าถึง DOM แบบเต็ม
ถาม: จะมีวิธีรองรับโค้ดจากระยะไกลใน Manifest V3 ไหม
ตอบ: เราจะยังคงไม่อนุญาตให้ดำเนินการโค้ดที่โฮสต์จากระยะไกลโดยพลการในส่วนขยาย Chrome เพื่อให้ส่วนขยาย Chrome มีความปลอดภัยมากขึ้น อย่างไรก็ตาม ไม่ได้หมายความว่าเราไม่อนุญาตการเรียกใช้โค้ดแบบไดนามิกทุกประเภท เรายังคงรองรับตัวเลือกต่างๆ ในการเรียกใช้โค้ดแบบไดนามิกในส่วนขยาย Chrome ดังนี้
- รองรับ
eval()ในส่วนขยายของเครื่องมือสำหรับนักพัฒนาเว็บ - รองรับสคริปต์ของผู้ใช้
- การเรียกใช้โค้ดที่โฮสต์จากระยะไกลใน iframe ที่ทำแซนด์บ็อกซ์
- ไฟล์การกำหนดค่าที่โฮสต์จากระยะไกลซึ่งสามารถตีความได้ในรันไทม์ในแพ็กเกจส่วนขยาย อย่างไรก็ตาม ต้องกำหนดเส้นทางการดำเนินการที่เป็นไปได้ไว้ล่วงหน้า
คำถาม: ส่วนขยาย Manifest V2 ของฉันใช้ webRequestBlocking ซึ่งไม่รองรับใน Manifest V3 ฉันจะยังคงให้บริการฟังก์ชันการทำงานเดียวกันใน Manifest V3 ได้อย่างไร
ตอบ: เรามั่นใจว่า Use Case การบล็อกคำขอส่วนใหญ่สามารถแก้ไขได้ด้วย declarativeNetRequest API ใหม่ ซึ่งมีสิทธิประโยชน์เพิ่มเติมคือช่วยหลีกเลี่ยงค่าใช้จ่ายด้านประสิทธิภาพของการสื่อสารระหว่างโปรเซส การเรียกใช้โค้ดในทุกคำขอ หรือการกำหนดให้มีกระบวนการส่วนขยายที่ใช้งานอยู่ในขณะที่ส่งคำขอ อย่างไรก็ตาม ระบบยังคงรองรับการบล็อกคำขอแบบไดนามิกสำหรับกรณีการใช้งานระดับองค์กร (หรือการศึกษา) ที่ซับซ้อน
หากมีคำถามที่เรายังไม่ได้ตอบ โปรดแจ้งให้เราทราบ