method

WebView.addEventListener

addEventListener<T = unknown>(
type: `${string}.${string}`,
listener: (event: new (type: string, eventInitDict?: MessageEventInit<T>) => MessageEvent<T>) => void,
options?: boolean | AddEventListenerOptions
): void;

Subscribe to CDP events. Chrome backend only.

Event types are CDP method names directly — "Network.responseReceived", "Page.frameStartedLoading", "DOM.documentUpdated", etc. The listener receives a MessageEvent with the CDP params as event.data.

Enable the domain first with cdp("Domain.enable"), or Chrome won't send those events. Events without a registered listener are dropped before JSON parsing (no overhead for domains you enabled but don't fully listen to).

await view.navigate("about:blank");
await view.cdp("Network.enable");
view.addEventListener("Network.responseReceived", e => {
  console.log(e.data.response.status, e.data.response.url);
});
await view.navigate("https://example.com");
type: string,
options?: boolean | AddEventListenerOptions
): void;

Subscribe to CDP events. Chrome backend only.

Event types are CDP method names directly — "Network.responseReceived", "Page.frameStartedLoading", "DOM.documentUpdated", etc. The listener receives a MessageEvent with the CDP params as event.data.

Enable the domain first with cdp("Domain.enable"), or Chrome won't send those events. Events without a registered listener are dropped before JSON parsing (no overhead for domains you enabled but don't fully listen to).

await view.navigate("about:blank");
await view.cdp("Network.enable");
view.addEventListener("Network.responseReceived", e => {
  console.log(e.data.response.status, e.data.response.url);
});
await view.navigate("https://example.com");

Referenced types

interface AddEventListenerOptions

  • capture?: boolean
  • once?: boolean

    When true, the listener is automatically removed when it is first invoked. Default: false.

  • passive?: boolean

    When true, serves as a hint that the listener will not call the Event object's preventDefault() method. Default: false.