browsingContext.domContentLoaded event

The browsingContext.domContentLoaded event of the browsingContext module fires when the HTML document has been parsed during a cross-document navigation in a context.

Description

In the lifecycle of a successful navigation, this event fires after browsingContext.navigationCommitted and before browsingContext.load events.

At this point, the HTML has been parsed, equivalent to the DOMContentLoaded event firing in the context, but subresources such as stylesheets and images may still be loading.

If you set wait to "interactive" for the browsingContext.navigate and browsingContext.reload commands, they return as soon as browsingContext.domContentLoaded fires.

Event data

The params field in the event notification is a navigation object with the following fields:

context

A string that contains the ID of the context in which the HTML document is being parsed.

A string that contains the UUID that uniquely identifies this navigation. This ID matches the navigation value in the response of the browsingContext.navigate and browsingContext.reload commands.

timestamp

A non-negative integer that represents the time in UTC when the event was fired, as milliseconds elapsed since the epoch.

url

A string that contains the URL being loaded.

userContext Optional

A string that contains the ID of the user context in which the HTML document is being parsed.

Examples

Receiving an event when a document is parsed

Assume you have a WebDriver BiDi connection and an active session with a subscription to browsingContext.domContentLoaded.

Suppose you use browsingContext.navigate to load https://example.com, passing the context ID you obtain from browsingContext.getTree.

The browser first fires browsingContext.navigationStarted and browsingContext.navigationCommitted events (those notifications are not received since the subscription in this example is only to browsingContext.domContentLoaded).

Once the HTML has been parsed, the browser sends the following notification, where the context value matches the context ID you passed to browsingContext.navigate:

json
{
  "type": "event",
  "method": "browsingContext.domContentLoaded",
  "params": {
    "context": "5e5e96e8-5247-4f22-9b35-a4a2d841cbaa",
    "navigation": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "timestamp": 1782342489906,
    "url": "https://example.com"
  }
}

Specifications

Specification
WebDriver BiDi
# event-browsingContext-domContentLoaded

Browser compatibility

See also