API พร็อกซีส่วนกลางของ Firefox ต้องเข้าถึงหน้าต่างส่วนตัว
ตรวจสอบการเข้าถึงการท่องเว็บแบบส่วนตัวของส่วนขยายเมื่อ proxy.settings.set โยนข้อผิดพลาด เพราะการกำหนดค่าส่วนกลางมีผลกับทั้งหน้าต่างปกติและหน้าต่างส่วนตัว
การตั้งค่าพร็อกซีส่วนกลางของ Firefox มีผลกับทั้งหน้าต่างปกติและหน้าต่างส่วนตัว ดังนั้น API proxy.settings จึงกำหนดให้ส่วนขยายต้องเข้าถึงหน้าต่างส่วนตัวได้ แม้ว่าการดำเนินการจะเริ่มจากหน้าต่างปกติ
ส่วนขยายสามารถตรวจสอบเงื่อนไขนี้ก่อนเปลี่ยนการตั้งค่า:
const allowed = await browser.extension.isAllowedIncognitoAccess();
if (!allowed) {
throw new Error('Private-window access is required for global proxy settings');
}
await browser.proxy.settings.set({ value: proxyConfig });proxyConfig คืออ็อบเจกต์การกำหนดค่าที่มีอยู่แล้วในรูปแบบ Firefox ส่วนขยายยังต้องมีสิทธิ์ API พร็อกซีตามปกติด้วย
เมื่อไฟล์ manifest อนุญาตให้ใช้แบบส่วนตัว ผู้ใช้จะควบคุมการเข้าถึงนั้นในรายละเอียดการจัดการของส่วนขยายผ่าน Run in Private Windows การตรวจสอบจะรายงานตัวเลือกนั้น แต่ไม่ได้ให้สิทธิ์โดยอัตโนมัติ
หากไม่มีการเข้าถึงที่จำเป็น proxy.settings.set จะโยนข้อยกเว้น สิ่งนี้เกิดขึ้นก่อนที่ส่วนขยายจะแสดงการเชื่อมต่อใด ๆ กับพร็อกซีที่เสนอ ดังนั้นการเปลี่ยน IP หรือพอร์ตจึงไม่เกี่ยวข้องกับความล้มเหลวนี้
จัดการการปฏิเสธใน UI ของส่วนขยายและรักษาตัวเลือกของผู้ใช้ เมื่อสิทธิ์และการใช้การกำหนดค่าสำเร็จแล้ว ให้ประเมินเส้นทางปลายทางจริงแยกต่างหาก