سجّل onStartup وonInstalled بشكل متزامن في أعلى مستوى عامل خدمة Manifest V3 عندما ينبغي أن تطبّق هذه الأحداث الوكيل المختار. لإضافة مثبَّتة عمدًا على مسار واحد:

function applyProxy() {
  chrome.proxy.settings.set({
    value: {
      mode: 'fixed_servers',
      rules: {
        singleProxy: {
          scheme: 'http',
          host: 'proxy.example',
          port: 8080,
        },
      },
    },
    scope: 'regular',
  }, () => {
    if (chrome.runtime.lastError) {
      console.error(chrome.runtime.lastError.message);
    }
  });
}

chrome.runtime.onStartup.addListener(applyProxy);
chrome.runtime.onInstalled.addListener(applyProxy);

على ملف manifest أن يعلن إذن الوكيل وأن يسمّي عامل الخلفية هذا. أمّا المسار العام المسموح للتصفح دون مصادقة للوكيل، فاستبدل نقطة النهاية بمرشّح من قائمة وكلاء HTTP مع إبقاء المنفذ عددًا صحيحًا.

onStartup هو بدء تشغيل الملف الشخصي مع تثبيت الإضافة. ويشمل onInstalled التحديثات، بما فيها إعادة تحميل إضافة غير محزَّمة تُعامل كتحديث. أمّا حدث إنشاء النافذة فيصف كل نافذة ويمكن أن يتكرر في الجلسة الواحدة.

إذا كانت الإضافة تحتفظ بملفات شخصية أو بمفتاح إيقاف، فدع المعالج يحمّل ذلك الاختيار ويطبّقه بدل إعادة ضبط قيمة افتراضية مضمّنة عند كل تحديث. يبقى تسجيل المستمع في أعلى مستوى؛ ويمكن أن يبدأ العمل غير المتزامن عندما يستدعي Chrome المعالج.

جرّب التثبيت وبدء تشغيل الملف الشخصي كلًا على حدة أثناء التطوير، مع فحص نتيجة الإعداد لكل منهما. فهما مساران للتهيئة، وليسا دليلًا يُستمد من فتح نافذة أخرى.

مقالات ذات صلة