وقتی این رویدادها باید پروکسی انتخاب‌شده را اعمال کنند، onStartup و onInstalled را به‌صورت همگام در سطح بالای service worker مربوط به 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 باید مجوز پروکسی را اعلام و نام این worker پس‌زمینه را مشخص کند. برای مسیر مجاز گشت‌وگذار عمومی بدون احراز هویت پروکسی، نقطه پایانی را با یکی از گزینه‌های فهرست پروکسی HTTP جایگزین کنید و پورت را عدد صحیح نگه دارید.

onStartup شروع پروفایل با افزونه نصب‌شده است. onInstalled به‌روزرسانی‌ها را هم در بر می‌گیرد، از جمله بارگذاری دوباره افزونه بسته‌بندی‌نشده که به‌عنوان به‌روزرسانی شمرده می‌شود. رویداد ایجاد پنجره هر پنجره را توصیف می‌کند و می‌تواند در یک نشست چند بار رخ دهد.

اگر افزونه پروفایل‌های ذخیره‌شده یا کلید خاموش‌کردن دارد، بگذارید کنترل‌کننده همان انتخاب را بارگذاری و اعمال کند، نه اینکه در هر به‌روزرسانی مقدار پیش‌فرض سخت‌کدشده را بازنشانی کند. ثبت شنونده‌ها در سطح بالا می‌ماند؛ کار ناهمگام می‌تواند وقتی Chrome کنترل‌کننده را فراخواند آغاز شود.

در زمان توسعه نصب و شروع پروفایل را جداگانه بیازمایید، و نتیجه پیکربندی را برای هر یک بررسی کنید. این‌ها دو مسیر مقداردهی اولیه‌اند، نه مدرکی که از باز کردن پنجره‌ای دیگر به دست آید.

مقالات مرتبط