> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Factory function de JavaScript para Posts incrustados

> Inserta dinámicamente Posts de X incrustados en una página web utilizando la factory function de JavaScript twttr.widgets.createTweet de la biblioteca X for Websites.

La biblioteca de JavaScript de X for Websites admite la inserción dinámica de Posts incrustados mediante la función `twttr.widgets.createTweet`. Pasa un Post ID, el elemento padre de destino y cualquier opción personalizada.

Los fragmentos de código de esta página asumen que `widgets.js` se ha cargado correctamente en tu página. Incluye un cargador de scripts asíncrono en tu página al inicializar `window.twttr`, tal como se describe en nuestra [documentación del cargador de JavaScript](/x-for-websites/javascript-api/guides/set-up-x-for-websites). Todo el código JavaScript que dependa de `widgets.js` debe ejecutarse en `twttr.ready` o después.

| Parámetro  | Descripción                                                                                                                                                                                           | Valor de ejemplo                       |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| `tweetID`  | El ID numérico del Post deseado.                                                                                                                                                                      | `'20'`                                 |
| `targetEl` | Nodo del DOM del elemento padre deseado.                                                                                                                                                              | `document.getElementById('container')` |
| `options`  | Anula las opciones predeterminadas del widget. Consulta la [referencia de parámetros de Post incrustado](/x-for-websites/embedded-posts/guides/embedded-tweet-parameter-reference) para más detalles. | `{ theme: 'dark' }`                    |

## Ejemplo

En la página existe un elemento con un ID de DOM `container`.

```html theme={null}
<div id="container"></div>
```

El siguiente fragmento de código insertará el [Post ID 20](https://x.com/jack/status/20) en una página, dentro de un elemento con el ID único `container`. El objeto de opciones especifica una personalización con tema oscuro.

```javascript theme={null}
twttr.widgets.createTweet(
  '20',
  document.getElementById('container'),
  {
    theme: 'dark'
  }
);
```

## Promesas

`twttr.widgets.createTweet` devuelve una [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). Puedes ejecutar código después de que un widget se haya insertado en tu página pasando un callback a la función `then` de la promesa resultante.

```javascript theme={null}
twttr.widgets.createTweet(...)
.then( function( el ) {
  console.log('Post added.');
});
```
