# 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.