ആ ഇവന്റുകൾ തിരഞ്ഞെടുത്ത പ്രോക്സി പ്രയോഗിക്കേണ്ടിവരുമ്പോൾ, 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 ഹാൻഡ്ലറെ വിളിക്കുമ്പോൾ അസിങ്ക്രണസ് ജോലി തുടങ്ങാം.

വികസന സമയത്ത് ഇൻസ്റ്റലേഷനും പ്രൊഫൈൽ സ്റ്റാർട്ടപ്പും വെവ്വേറെ പരിശോധിക്കുക, ഓരോന്നിനും കോൺഫിഗറേഷൻ ഫലം പരിശോധിച്ച്. ഇവ രണ്ട് ഇനിഷ്യലൈസേഷൻ പാതകളാണ്, മറ്റൊരു വിൻഡോ തുറന്ന് ലഭിക്കുന്ന തെളിവല്ല.

അനുബന്ധ ലേഖനങ്ങൾ