Skip to main content
Si estás integrando tu sitio con X usando X for Websites y Web Intents, puedes generar widgets dinámicamente mediante funciones JavaScript. Los productos de X for Websites —botones Post, botones Seguir, Posts incrustados y timelines— se cargan mediante una utilidad JavaScript llamada widgets-js. Al añadir un widget de X a tu página, este archivo JavaScript se incluye en el código HTML de inserción, o puedes incluir directamente https://platform.x.com/widgets.js en tu página. (Consulta la documentación de configuración de X for Websites para ver un fragmento de código recomendado). De forma predeterminada, widgets-js encontrará el marcado en una página y convertirá el marcado básico y funcional en widgets interactivos enriquecidos. Además, existen varias funciones de widgets-js que te permiten trabajar con contenido de X de forma dinámica:

Crear widgets en tiempo de ejecución con factory functions

Los widgets pueden generarse en tiempo de ejecución, sin necesidad de un código HTML de inserción. Un conjunto de factory functions puede generar cualquier tipo de widget:

Botones

createShareButton, createFollowButton, createHashtagButton y createMentionButton reciben argumentos similares.

Argumento principal

El primer argumento es obligatorio y es único para el tipo de botón. Proporciona una cadena que represente uno de los siguientes:
  • url: la URL que se compartirá.
  • screen_name: el screen_name de un usuario al que seguir o mencionar.
  • hashtag: hashtag que se publicará y se mostrará en el botón.

Argumentos adicionales:

  • target: Obligatorio. El elemento en el que se renderizará el widget.
  • options: Opcional. Un objeto hash con opciones adicionales para configurar el widget.
Los widgets normalmente se renderizan como elementos iframe. Cuando un iframe se mueve dentro del DOM, el navegador recargará su contenido. Para los botones esto puede desperdiciar ancho de banda, mientras que para Posts y timelines provocará que se pierda el contenido inyectado dinámicamente. Utiliza el argumento target para renderizar los widgets en su ubicación final en una página. Si necesitas retrasar la visualización de un widget, usa CSS para posicionar el widget fuera de la pantalla hasta que se necesite.
Cada función create devuelve una Promise. Puedes ejecutar código después de que se haya creado un widget pasando un callback a:
Cuando se resuelva, la promesa pasará una referencia a un elemento de widget recién creado al callback encadenado.

Ejemplos

Crear un botón de compartir para una URL:
Crear un botón Seguir para un usuario:

Opciones

Se pueden pasar configuraciones y opciones adicionales a las factory functions, como en los ejemplos anteriores. Configuración adicional para todos los widgets Opciones de configuración adicionales para widgets de tipo botón Opciones adicionales del botón Post

Posts

createTweet recibe el ID de un Post y luego los mismos argumentos adicionales que los botones.

Argumentos

  • tweetId: el ID de un Post que se renderizará. (Debe proporcionarse como String, ya que los IDs de X se generan a partir de enteros de 64 bits y los enteros de JavaScript están limitados a 53 bits).
  • target: Obligatorio. El elemento en el que se renderizará el widget.
  • options: Opcional. Un hash de opciones adicionales para configurar el widget.

Ejemplos

Crear un Post incrustado para un Post del US Department of Interior:

Opciones

Timelines

createTimeline recibe la definición de la fuente de datos para un timeline. Los argumentos adicionales son coherentes con los Posts incrustados.

Argumentos

  • data source: Obligatorio. El objeto de definición de la fuente de datos para el contenido que se mostrará en el widget. Puede ser una cadena de widget ID para un widget legado.
  • target: Obligatorio. El elemento en el que se renderizará el widget.
  • options: Opcional. Un hash de opciones adicionales para configurar el widget.

Ejemplos

Crear un widget de timeline:
Ejemplo

Fuente de datos

La definición de la fuente de datos describe qué contenido hidratará el timeline incrustado. Hay varios tipos de fuentes de datos: profile; list; URL; widget configuration.
Profile
Para alimentar un timeline incrustado con Posts de un usuario individual, utiliza una fuente de datos profile. Para ello, establece sourceType en profile y establece uno de screenName o userId.
List
Para alimentar un timeline incrustado con una lista de X, utiliza una fuente de datos list. Establece sourceType en list y establece tanto ownerScreenName como slug, o establece un id.
URL
Para alimentar un timeline incrustado con contenido de X representado por una URL, utiliza una fuente de datos url. El contenido admitido incluye perfiles y listas.

Opciones

Todos los parámetros descritos anteriormente para todos los widgets y para los Posts incrustados también se aplican a los timelines incrustados. Para más información sobre las opciones para personalizar los Timelines incrustados, consulta Timelines incrustados. Estas funciones permiten integrar el contenido de un usuario de X en tu sitio de forma dinámica en una aplicación JavaScript, e integrar las interacciones del usuario en la experiencia de tu propia aplicación. Por favor, haz preguntas y comparte tu código y ejemplos en el foro de desarrolladores. También puedes consultar la documentación principal de X for Websites.