# webNavigation
Documentation: [Chrome Web Navigation API](https://developer.chrome.com/docs/extensions/reference/webNavigation)
A promise-based wrapper for the Chrome `webNavigation` API, providing methods to retrieve frame information and listen to navigation events.
## Methods
- [getAllFrames(tabId)](#getAllFrames)
- [getFrame(details)](#getFrame)
## Events
- [onWebNavigationBeforeNavigate(callback, filters?)](#onWebNavigationBeforeNavigate)
- [onWebNavigationCommitted(callback, filters?)](#onWebNavigationCommitted)
- [onWebNavigationCompleted(callback, filters?)](#onWebNavigationCompleted)
- [onWebNavigationCreatedNavigationTarget(callback, filters?)](#onWebNavigationCreatedNavigationTarget)
- [onWebNavigationDOMContentLoaded(callback, filters?)](#onWebNavigationDOMContentLoaded)
- [onWebNavigationErrorOccurred(callback, filters?)](#onWebNavigationErrorOccurred)
- [onWebNavigationHistoryStateUpdated(callback, filters?)](#onWebNavigationHistoryStateUpdated)
- [onWebNavigationReferenceFragmentUpdated(callback, filters?)](#onWebNavigationReferenceFragmentUpdated)
- [onWebNavigationTabReplaced(callback)](#onWebNavigationTabReplaced)
---
### getAllFrames
```
getAllFrames(tabId: number): Promise
```
Retrieves information about all frames in the specified tab.
### getFrame
```
getFrame(details: chrome.webNavigation.GetFrameDetails): Promise
```
Retrieves information about a specific frame. Rejects if no matching frame is found.
### onWebNavigationBeforeNavigate
```
onWebNavigationBeforeNavigate(
callback: (details: chrome.webNavigation.WebNavigationParentedCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called before a navigation occurs.
### onWebNavigationCommitted
```
onWebNavigationCommitted(
callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when a navigation is committed.
### onWebNavigationCompleted
```
onWebNavigationCompleted(
callback: (details: chrome.webNavigation.WebNavigationFramedCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when a document, including its resources, is completely loaded.
### onWebNavigationCreatedNavigationTarget
```
onWebNavigationCreatedNavigationTarget(
callback: (details: chrome.webNavigation.WebNavigationSourceCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when a new window or tab is created to host a navigation.
### onWebNavigationDOMContentLoaded
```
onWebNavigationDOMContentLoaded(
callback: (details: chrome.webNavigation.WebNavigationFramedCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when the page's DOM is fully constructed.
### onWebNavigationErrorOccurred
```
onWebNavigationErrorOccurred(
callback: (details: chrome.webNavigation.WebNavigationFramedErrorCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when an error occurs and a navigation is aborted.
### onWebNavigationHistoryStateUpdated
```
onWebNavigationHistoryStateUpdated(
callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when a frame's history is updated to a new URL.
### onWebNavigationReferenceFragmentUpdated
```
onWebNavigationReferenceFragmentUpdated(
callback: (details: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => void,
filters?: chrome.webNavigation.WebNavigationEventFilter
): () => void
```
Adds a listener that is called when the reference fragment of a frame is updated.
### onWebNavigationTabReplaced
```
onWebNavigationTabReplaced(
callback: (details: chrome.webNavigation.WebNavigationReplacementCallbackDetails) => void
): () => void
```
Adds a listener that is called when a tab is replaced by another tab.