Skip to main content
Se você está integrando seu site com o X usando X for Websites e Web Intents, pode gerar widgets dinamicamente usando funções JavaScript. Os produtos do X for Websites — Post buttons, Follow buttons, Posts e timelines incorporados — são todos carregados usando um utilitário JavaScript chamado widgets-js. Ao adicionar um widget do X à sua página, este arquivo JavaScript é incluído no código HTML embed, ou você pode incluir diretamente https://platform.x.com/widgets.js em sua página. (Consulte a documentação de configuração do X for Websites para um snippet de código recomendado.) Por padrão, o widgets-js encontrará a marcação em uma página e converterá a marcação básica e funcional em widgets interativos ricos. Além disso, há uma série de funções do widgets-js que permitem trabalhar com conteúdo do X dinamicamente:

Criando widgets em runtime com funções factory

Widgets podem ser gerados em runtime, sem precisar de um código HTML embed. Um conjunto de funções factory pode gerar qualquer tipo de widget:

Botões

createShareButton, createFollowButton, createHashtagButton e createMentionButton aceitam argumentos semelhantes.

Argumento principal

O primeiro argumento é obrigatório, e é único para o tipo de botão. Forneça uma string representando um de:
  • url: A URL a ser compartilhada.
  • screen_name: O screen_name de um usuário a ser seguido ou mencionado.
  • hashtag: Hashtag a ser postada e exibida no botão.

Argumentos adicionais:

  • target: Obrigatório. O elemento no qual renderizar o widget.
  • options: Opcional. Um hash de opções adicionais para configurar o widget.
Widgets geralmente são renderizados como elementos iframe. Quando um iframe é movido dentro do DOM, o navegador recarregará seu conteúdo. Para botões, isso pode desperdiçar largura de banda, enquanto para Posts e timelines isso fará com que o conteúdo injetado dinamicamente seja perdido. Use o argumento target para renderizar widgets em sua localização final na página. Se você precisar atrasar a exibição de um widget, use CSS para posicionar o widget fora da tela até que seja necessário.
Cada função create retorna uma Promise. Você pode executar código depois que um widget é criado passando um callback para:
Quando resolvida, a promise passará uma referência a um elemento de widget recém-criado para o callback encadeado.

Exemplos

Criar um share button para uma URL:
Criar um Follow button para um usuário:

Opções

Configurações e opções adicionais podem ser passadas para as funções factory, como nos exemplos acima. Configurações adicionais para todos os widgets Opções de configuração adicionais para widgets de botão Opções adicionais do Post button

Posts

createTweet aceita o ID de um Post e depois os mesmos argumentos adicionais dos botões.

Argumentos

  • tweetId: O ID de um Post a ser renderizado. (Isto deve ser fornecido como uma String, pois os IDs do X são gerados a partir de inteiros de 64 bits, e inteiros JavaScript são limitados a 53 bits.)
  • target: Obrigatório. O elemento no qual renderizar o widget.
  • options: Opcional. Um hash de opções adicionais para configurar o widget.

Exemplos

Criar um Post incorporado para um Post do US Department of Interior:

Opções

Timelines

createTimeline aceita a definição de fonte de dados para uma timeline. Argumentos adicionais são consistentes com Posts incorporados.

Argumentos

  • fonte de dados: Obrigatório O objeto de definição de fonte de dados para o conteúdo a ser exibido no widget. Pode ser uma string de widget ID para um widget legado.
  • target: Obrigatório. O elemento no qual renderizar o widget.
  • options: Opcional. Um hash de opções adicionais para configurar o widget.

Exemplos

Criar um widget de timeline:
Exemplo

Fonte de dados

A definição de fonte de dados descreve qual conteúdo hidratará a timeline incorporada. Existem vários tipos de fontes de dados: profile; list; URL; widget configuration.
Profile
Para alimentar uma timeline incorporada com Posts de um usuário individual, use uma fonte de dados profile. Para isso, defina sourceType como profile e defina um de screenName ou userId.
List
Para alimentar uma timeline incorporada com uma list do X, use uma fonte de dados list. Defina sourceType como list e defina tanto ownerScreenName quanto slug, ou defina um id.
URL
Para alimentar uma timeline incorporada com conteúdo do X representado por uma URL, use uma fonte de dados url. O conteúdo suportado inclui perfis e lists.

Opções

Todos os parâmetros descritos acima para todos os widgets e para Posts incorporados também se aplicam a timelines incorporadas. Para mais informações sobre as opções de personalização de Timelines incorporadas, consulte Embedded Timelines. Essas funções tornam possível integrar dinamicamente o conteúdo de usuários do X ao seu site em uma aplicação JavaScript, e integrar interações de usuário à experiência da sua própria aplicação. Por favor, faça perguntas e compartilhe seu código e exemplos no fórum de desenvolvedores. Você também pode consultar a documentação principal do X for Websites.