# Interface BrowserNavigation

All Superinterfaces:
  `ClientService, Serializable`

public interface BrowserNavigation extends ClientService
The browser navigation provides methods to access a web browser's history for navigating within the application. It is possible to create a history entry at the top of the history stack and to handle a navigation change event.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`void`
`addBrowserNavigationListener(BrowserNavigationListener listener)`
Adds a listener to the browser navigation.
`void`
`pushState(String state, String title)`
Creates an entry in the browser history.
`void`
`removeBrowserNavigationListener(BrowserNavigationListener listener)`
Removes a listener from the navigation support.

## Method Details

### pushState

void pushState(String state, String title)
Creates an entry in the browser history.

Parameters:
  `state` - an unique id to identify the history entry, used in the fragment part of the URL. Must neither be `null` nor empty
  `title` - a human-readable text to identify the history entry in the browser's UI or `null`

### addBrowserNavigationListener

void addBrowserNavigationListener(BrowserNavigationListener listener)
Adds a listener to the browser navigation. This listener is notified whenever the URL fragment in the browser changes. If the listener has already been added, this method does nothing.

Parameters:
  `listener` - the listener to add, must not be `null`

### removeBrowserNavigationListener

void removeBrowserNavigationListener(BrowserNavigationListener listener)
Removes a listener from the navigation support. If the listener has not been added before, this method does nothing.

Parameters:
  `listener` - the listener to remove, must not be `null`