---
title: "NavigationPrecommitController | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

# Interface NavigationPrecommitController

The **`NavigationPrecommitController`** interface of the Navigation API is passed as an argument to a navigation precommit handler callback.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPrecommitController)

interface NavigationPrecommitController {  
    [addHandler](#addhandler-1)(handler: [NavigationInterceptHandler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationInterceptHandler/)): void;  
    [redirect](#redirect-1)(url: string | URL, options?: [NavigationNavigateOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationNavigateOptions/)): void;  
}

##### Index

### Methods[](#methods)

[addHandler](#addhandler) [redirect](#redirect)

## Methods[](#methods-1)

### addHandler[](#addhandler)

-   addHandler(handler: [NavigationInterceptHandler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationInterceptHandler/)): void[](#addhandler-1)
    
    The **`addHandler()`** method of the NavigationPrecommitController interface allows you to dynamically add a handler callback function in precommit code, which will then be run after the navigation has committed.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPrecommitController/addHandler)
    
    #### Parameters
    
    -   handler: [NavigationInterceptHandler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationInterceptHandler/)
    
    #### Returns void
    

### redirect[](#redirect)

-   redirect(url: string | URL, options?: [NavigationNavigateOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationNavigateOptions/)): void[](#redirect-1)
    
    The **`redirect()`** method of the NavigationPrecommitController interface redirects the browser to a specified URL and specifies history behavior and any desired state information.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigationPrecommitController/redirect)
    
    #### Parameters
    
    -   url: string | URL
    -   `Optional`options: [NavigationNavigateOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.NavigationNavigateOptions/)
    
    #### Returns void
