NavigationPrecommitController: redirect() method
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The redirect() method of the
NavigationPrecommitController interface redirects the browser to a specified URL and specifies history behavior and any desired state information.
Syntax
redirect(url, options)
Parameters
url-
The URL to redirect to.
optionsOptional-
An options object, the properties of which can include:
stateOptional-
Contains any state information you want to pass along with the navigation; for example, for logging or tracking purposes. This can be represented by any value type. The state for the navigation can subsequently be retrieved via the
NavigationHistoryEntry.getState()method of the resulting history entry. historyOptional-
An enumerated value that specifies how this redirect should be added to the navigation history. It can take one of the following values:
auto-
The default value, which lets the browser decide how to handle it:
- If the original navigation occurred as a result of a
Navigation.navigate()call, the value will be whatever was specified in thenavigate()call'shistoryoption. - Otherwise, the value used is usually
push, but it will becomereplaceif the redirect points to the same URL as the pre-navigation URL.
- If the original navigation occurred as a result of a
push-
Adds a new
NavigationHistoryEntryto the navigation history, and clears any available forward navigation (that is, if the user previously navigated to other locations, then used the back button to return back through the history before initiating the navigation that caused the redirect). replace-
Replaces the
Navigation.currentEntrywith the resulting newNavigationHistoryEntry.
Note:
The redirect() method can convert the history behavior between auto, push, and replace, but it cannot turn a traverse navigation into a push/replace navigation and vice versa.
Return value
None (undefined).
Exceptions
InvalidStateErrorDOMException-
Thrown if:
- The originating
NavigateEventwas not intercepted. - The
NavigateEvent.navigationTypeis notpushorreplace.
- The originating
SyntaxErrorDOMException-
Thrown if the specified
urlis invalid. SecurityErrorDOMException-
Thrown if the current document is unable to have its URL rewritten to the provided redirect
url.
Examples
See the main NavigationPrecommitController page for an example.
Specifications
| Specification |
|---|
| HTML> # dom-navigationprecommitcontroller-redirect> |