---
title: "Feature: #64031 - JavaScript Storage API"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-64031"
source: "Changelog/7.1/Feature-64031-JavaScript-Storage-API.rst"
modified: "2026-09-15T10:46:36+00:00"
---

# Feature: #64031 - JavaScript Storage API

See [forge#64031](https://forge.typo3.org/issues/64031)

## Description

Accessing the Backend User configuration ($BE_USER->uc) can be handled in JavaScript with a common and simple
key-value storage manner, allowing to store any data. Additionally, the use of HTML5s localStorage allows to
store any data in the same way inside the browser. All localStorage data is prefixed with "t3-" in order to avoid
collisions with other data from the same browserStorage.

## Impact

### API Methods

The API provides two objects available in the top frame attached to the global TYPO3 object:

1.  `top.TYPO3.Storage.Client`
1.  `top.TYPO3.Storage.Persistent`

Each object has the following API methods

-   `get(key)` To fetch the data behind the key.
-   `set(key, value)` To set/override a key with any arbitrary content.
-   `isset(key)` (bool) checks if the key is in use.
-   `clear()` to empty all data inside the storage.

### Examples

To fetch data from the persistent user configuration, simple use the key known already:

```javascript
top.TYPO3.Storage.Persistent.get('startModule');
```

Storing / Updating data in the storage works like this, and can contain any data type.

```javascript
top.TYPO3.Storage.Persistent.set('startModule', 'web_info');
```

The same is possible for browserStorage using top.TYPO3.Storage.Client.
