files/en-us/web/api/navigation/navigatesuccess_event/index.md
{{APIRef("Navigation API")}}
The navigatesuccess event of the {{domxref("Navigation")}} interface is fired when a successful navigation has finished.
In the case of an intercepted navigation, this would occur after any promises returned by your {{domxref("NavigateEvent.intercept", "intercept()")}} handler are fulfilled. The {{domxref("NavigationTransition.finished")}} promise will also fulfill at the same time.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("navigatesuccess", (event) => { })
onnavigatesuccess = (event) => { }
A generic {{domxref("Event")}}.
You might deal with a successful navigation by hiding a previously displayed progress indicator, like this:
navigation.addEventListener("navigatesuccess", (event) => {
loadingIndicator.hidden = true;
});
Or you might show an error message on failure:
navigation.addEventListener("navigateerror", (event) => {
loadingIndicator.hidden = true; // also hide indicator
showMessage(`Failed to load page: ${event.message}`);
});
{{Specifications}}
{{Compat}}