Firefox Tomorrow

web api instance method

Navigation: reload() method

View on MDN ↗

The reload() method of the Navigation interface reloads the current URL, updating any provided state in the history entries list.

Note that reload() does not trigger the popstate event, as this is only fired for soft navigations that cause a “traversal” of the history entries.

Syntax

reload()
reload(options)

Parameters

  • options Optional
    • : An options object containing the following properties:
      • state Optional
        • : Developer-defined information to be stored in the associated NavigationHistoryEntry once the navigation is complete, retrievable via getState(). This can be any data type. You might, for example, wish to store a page visit count for analytics purposes, or store UI state details so the view can be shown exactly as the user last left it. Any data stored in state must be structured-cloneable.
      • info Optional
        • : Developer-defined information to be passed along to the navigate event, made available in info. This can be any data type. You might, for example, wish to display newly-navigated content with a different animation depending on how it was navigated to (swipe left, swipe right, or go home). A string indicating which animation to use may be passed in as info.

Return value

An object with the following properties:

  • committed
  • finished
    • : A Promise which will fulfill when all promises returned by the intercept() handler are fulfilled. This is equivalent to the finished promise fulfilling, when the navigatesuccess event fires.

Either one of these promises rejects if the navigation has failed for some reason.

Exceptions

  • DataCloneError DOMException
    • : Thrown if the state parameter had values included in it that are not structured-cloneable.

Examples

Using info and state

async function handleReload() {
  await navigation.reload({
    info: { animation: "fade-in" },
    state: { infoPaneOpen: true },
  }).finished;

  // Update application state
  // …
}

Reload page and add a new state item:

async function handleReload() {
  await navigation.reload({
    state: { ...navigation.currentEntry.getState(), newState: 3 },
  }).finished;

  // Update application state
  // …
}

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also