جب وہ ایونٹس منتخب پراکسی لاگو کریں، تو 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 ہینڈلر کو کال کرتا ہے تو غیر ہم وقت کام شروع ہو سکتا ہے۔

ترقی کے دوران انسٹالیشن اور پروفائل کا آغاز الگ الگ جانچیں، ہر ایک کے لیے کنفیگریشن کا نتیجہ دیکھتے ہوئے۔ یہ دو ابتدائیہ راستے ہیں، دوسری ونڈو کھول کر حاصل ہونے والا ثبوت نہیں۔

متعلقہ مضامین