Gall API estyniadau Firefox wneud penderfyniad procsi ar gyfer cais unigol. Pan fo'r cais yn cael priodoliad tab dilys, gall estyniad gymharu ei ID tab â'r tab a ddewiswyd gan y defnyddiwr.

Ar gyfer sgript cefndir estyniad Firefox sy'n bodoli eisoes, gall y darn llwybro fod fel hyn:

browser.proxy.onRequest.addListener(details => {
  if (details.tabId === selectedTabId) {
    return {type: 'http', host: 'proxy.example', port: 8080};
  }
  return {type: 'direct'};
}, {urls: ['<all_urls>']});

Mae'r estyniad yn cyflenwi selectedTabId o'i resymeg ddewis defnyddiwr ei hun. Gall ei westeiwr HTTP a'i borth cyfanrif ddod o'r rhestr procsi HTTP ar gyfer prawf tab cyhoeddus a ganiateir. Mae angen y caniatâd procsi a'r caniatadau gwesteiwr sy'n cwmpasu'r URLau wedi'u hidlo.

Mae hyn yn wahanol i sgript PAC, nad yw ei benderfyniad safonol yn ôl URL a gwesteiwr yn nodi tab porwr. Mae hefyd yn wahanol i newid procsi â llaw byd-eang Firefox tra bo tab arall yn llwytho.

Cymerwch y ffurfweddiad porwr sylfaenol i ystyriaeth: nid yw gwerth direct ProxyInfo yn diystyru procsi a osodwyd gan y defnyddiwr. Gwiriwch y polisi sylfaen a'r ymddygiad wrth gefn yn hytrach nag addo bod pob cais heb ei gydweddu yn mynd yn syth.

Mae rhywfaint o draffig heb wybodaeth tab ddibynadwy, ac mae Mozilla yn dogfennu priodoliad anghywir ar gyfer cysylltiadau procsi HTTP/3. Mae hyn yn dangos llwybro ceisiadau, nid gwarant bod pob cysylltiad sy'n gysylltiedig â thasg bori wedi'i ynysu yn ôl tab. Mae llwybro cynwysyddion sy'n benodol i estyniad yn fodel arall i'w werthuso.

Erthyglau cysylltiedig