webRequest.StreamFilter.disconnect()

Déconnecte le filtre de la requête. Après cela, le navigateur continuera à traiter la réponse, mais plus aucun événement de filtrage ne se déclenchera, et plus aucun appel de fonction de filtrage n'aura d'effet.Notez la différence entre cette fonction et close(). Avec disconnect(), le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec close(), le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu.

Vous devriez toujours appeler disconnect() ou close() une fois que vous n'avez plus besoin d'interagir avec la réponse.

Vous ne pouvez pas appeler cette fonction avant que l'événement onstart ne soit déclenché.

Syntaxe

js
filter.disconnect();

Paramètres

None.

Valeur retournée

None.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Cet exemple précèdera "preface text" au corps de la réponse. Il se déconnecte ensuite, de sorte que le corps de réponse d'origine se charge normalement :

js
function listener(details) {
  let filter = browser.webRequest.filterResponseData(details.requestId);

  filter.onstart = (event) => {
    console.log("started");
    let encoder = new TextEncoder();
    filter.write(encoder.encode("preface text"));
    filter.disconnect();
  };
}

browser.webRequest.onBeforeRequest.addListener(
  listener,
  { urls: ["https://example.org/"], types: ["main_frame"] },
  ["blocking"],
);