> For the complete documentation index, see [llms.txt](https://play.docs.nexx.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://play.docs.nexx.cloud/widgets/javascript-sdk.md).

# Javascript SDK

After the nexxPLAY SDK is ready, the Frontend can embed as many Widget Containers on the Frontend as desired.

```javascript
_play.control.addWidget(CONTAINER-ID, WIDGET-HASH, WIDGET-STREAMTYPE, CONFIG);
```

{% hint style="info" %}
**CONTAINER-ID** is the id of the target Container on the Page, that the Widget will be inserted into. Please notice, that the Container should have a given width/height in either inline CSS or by a CSS Document to allow the Widget to measure its Dimensions.
{% endhint %}

{% hint style="info" %}
**WIDGET-HASH** is the Reference Hash of an existing AutoExport Widget within nexxOMNIA
{% endhint %}

{% hint style="info" %}
**WIDGET-SECRET** is an optional Security Mechanism, that can be enabled within nexxOMNIA
{% endhint %}

The mentioned **`CONFIG`** is similar to nexxPLAY a Configuration Object, but of Type **`WidgetConfiguration`**.

```javascript
var obj = { feedUpdateInterval: 30, slideUpdateInterval:10 };
var cfg = new _play.WidgetConfiguration(obj);
cfg.addOverride("animation", "zoom");

var widget = _play.control.addWidget("div", "HASH", "SECRET", cfg);
```

You can find a List of all available Override Options here:

{% content-ref url="/pages/-MC-gDOXnzwDKsA-5gZm" %}
[Widget Override Options](/widgets/widget-override-options.md)
{% endcontent-ref %}

The **`addWidget`** Method will return a **`_play.WidgetInstance`** Object, which can be used to control the Widget via JavaScript after Initialization.
