Gall estyniadau Firefox ddewis procsi o ID tab y cais
Defnyddiwch proxy.onRequest a gwybodaeth tabId dilys ar gyfer llwybro yn ôl tab, gyda chyfyngiadau ar gyfer polisi wrth gefn a cheisiadau heb briodoliad tab.
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.