जब ये इवेंट चुनी हुई प्रॉक्सी लागू करने हों, तो Manifest V3 सेवा वर्कर के शीर्ष स्तर पर onStartup और onInstalled को सिंक्रोनस रूप से रजिस्टर करें। जानबूझकर एक ही रूट पर तय एक्सटेंशन के लिए:

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 हैंडलर को कॉल करता है तब अतुल्यकालिक काम शुरू हो सकता है।

विकास के दौरान इंस्टॉलेशन और प्रोफ़ाइल स्टार्टअप को अलग-अलग जांचें, हर एक के लिए कॉन्फ़िगरेशन का परिणाम जांचते हुए। ये दो इनिशियलाइज़ेशन मार्ग हैं, दूसरी विंडो खोलने से मिला प्रमाण नहीं।

संबंधित लेख