Nesta postagem, mostrarei como criar um botão para compartilhar páginas da internet no Twitter.
Link de compartilhamento do Twitter
O link do Twitter para compartilhamento é [1]
https://twitter.com/intent/tweet?url=[URL]&text=[TEXTO-DO-TWEET]&via=[NOME-DE-USUARIO-DO-TWITTER]&hashtags=[LISTA-DE-HASHTAGS]
URLé o link da página que será compartilhada, que será exibida no Twitter na forma de uma URL curta;texté a descrição ou título da página que será compartilhada (vamos colocar o título da página, mas você é livre para escolher o que quiser);viaé um nome de usuário do Twitter (sem o @ no início) que será incluído no conteúdo compartilhado. Como sugestão, você pode colocar o Twitter do site onde o botão será incorporado;hashtagsé uma lista de hashtags (sem o # no início) separadas por vírgula, que serão incluídas no Tweet;
Ainda existe o parâmetro related, que é uma lista de nomes de usuários. Entretanto, essa lista é utilizada pelo Twitter apenas para que ele exiba um lista de sugestões de contas para seguir.
Os parâmetros essenciais, em minha opinião, são text, URL e via (principalmente os dois primeiros). Neste artigo, vamos utilizar apenas os parâmetros URL (obtido através da propriedade window.location.href) e text, que será o título da página (obtido através de document.title). Se você for utilizar mais parâmetros, tome cuidado, pois o Twitter tem um limite de 280 caracteres, portanto utilize apenas o que for realmente necessário.
Os parâmetros devem estar codificados para URL (faremos isso com a função encodeURIComponent() do JavaScript). Inicialmente, vamos utilizar o seguinte código HTML
<a href="" id="twitter-share-btt" rel="nofollow" target="_blank" class="twitter-share-button"></a>
O script a seguir cria a URL de compartilhamento e a atribui ao link do HTML anterior.
//Constrói a URL depois que o DOM estiver pronto
document.addEventListener("DOMContentLoaded", function() {
var url = encodeURIComponent(window.location.href);
var titulo = encodeURIComponent(document.title);
//var via = encodeURIComponent("usuario-twitter"); //nome de usuário do twitter do seu site
//altera a URL do botão
document.getElementById("twitter-share-btt").href = "https://twitter.com/intent/tweet?url="+url+"&text="+titulo;
//se for usar o atributo via, utilize a seguinte url
//document.getElementById("twitter-share-btt").href = "https://twitter.com/intent/tweet?url="+url+"&text="+titulo+"&via="+via;
}, false);
Esse método não funciona em páginas AMP, pois este tipo de página impede o uso de scripts que não façam parte do projeto AMP. Além disso, o botão também não funcionará se usuário bloquear os scripts do navegador.
Observação: você não precisa utilizar o evento DOMContentLoaded se o script for colocado abaixo do código HTML do botão.
Personalização do botão
Utilizarei a seguinte imagem para ser o ícone do botão [2]:
Você pode utilizar a imagem que quiser. A única recomendação é que ela seja quadrada. O código em CSS é dado a seguir
.twitter-share-button{
display: inline-block;
width: 40px;
height: 40px;
margin: 5px;
background-size: 100% 100%; /* ou 'contain' */
background-image: url("[URL-DO-ICONE]");
background-repeat: no-repeat;
background-position: center;
}
Em [URL-DO-ICONE], você deve colocar o link da imagem escolhida. Se preferir, utilize uma URL de dados em Base 64. Normalmente, sites de ícones, como o Iconfinder, disponibilizam uma opção para criar a URL em Base 64 de seus ícones. A principal vantagem dessa opção é que fica tudo embutido no código da página, isto é, você não depende de arquivos externos.
Se a imagem que você escolher não for quadrada, utilize o valor contain na propriedade background-size para que não haja distorções.
Você pode testar o botão a seguir:
Nesse exemplo, utilizei um ícone em Base 64.
Download dos códigos
A versão final desse botão pode ser obtida nos links abaixo
Considerações finais
Como última dica, implemente as meta tags do Twitter (se necessário) para que o Twitter crie um card/snippet com um resumo da página. Dessa forma, o conteúdo é apresentado de maneira mais elegante na rede social. Para maiores informações sobre as meta tags do Twitter, consulte os links nas referências [3].
Leia também
Mais botões de compartilhamento:
Referências
- [1] Tweet Web Intent. Acesso em 26 de maio de 2018.
- [2] IconFinder: Twitter Icon by Xinh Studio. Acesso em 27 de maio de 2018.
- [3] Optimize Tweets with Cards. Acesso em 26 de maio de 2018.

Obrigado. Ajudou bastante!!
ResponderExcluirMuito Obrigado!
ResponderExcluirdeu certo aqui. :-)
De nada! Fico feliz por ter te ajudado!
Excluiré possível que eu coloque imagem num link de compartilhamento como esse "https://twitter.com/intent/tweet?url=[URL]&text=[TEXTO-DO-TWEET]&via=[NOME-DE-USUARIO-DO-TWITTER]&hashtags=[LISTA-DE-HASHTAGS]", para a imagem ir juntamente com o tweet para ser publicado?
ResponderExcluirNão. Essa URL especial do Twitter não permite isso.
ExcluirValeu ajudou bastante!
ResponderExcluir