browsingContext.historyUpdated event

The browsingContext.historyUpdated event of the browsingContext module fires when the active URL in a context is updated programmatically without a full navigation.

Description

This event fires when history.pushState() or history.replaceState() is called to update the URL, or when document.open() is called to replace the document. These calls change the active URL in the context.

browsingContext.historyUpdated fires specifically when the URL is changed programmatically, unlike browsingContext.fragmentNavigated, which fires for same-document navigations to a URL fragment.

Event data

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

context

A string that contains the ID of the context in which the history update is occurring.

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 updated URL.

userContext Optional

A string that contains the ID of the user context in which the history update is occurring.

Examples

Receiving an event when history.pushState() is called

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

Suppose history.pushState() is called to update the URL to https://example.com/new-path. The browser sends the following notification:

json
{
  "type": "event",
  "method": "browsingContext.historyUpdated",
  "params": {
    "context": "5e5e96e8-5247-4f22-9b35-a4a2d841cbaa",
    "timestamp": 1781888825943,
    "url": "https://example.com/new-path"
  }
}

Specifications

Specification
WebDriver BiDi
# event-browsingContext-historyUpdated

Browser compatibility

See also