Le partage d'une URL avec une chaîne de requête sur Twitter
Je suis en train de mettre un Twitter partager le lien dans un e-mail. Parce que c'est dans un mail, je ne peux pas compter sur JavaScript, et avoir à utiliser le "créer" Votre Propre Tweet bouton.
Par exemple, le partage d'un lien vers Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Cela fonctionne bien. Le problème que je vais avoir, c'est quand l'URL est une chaîne de requête.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
Url avec des chaînes de requête confondre Twitter du service de raccourcissement d'URL, t.co. J'ai essayé de l'encodage de l'URL par des moyens différents et ne peuvent rien obtenir de travailler. Le plus proche que j'ai obtenu est en faisant cela.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Ici, j'ai codé uniquement la chaîne de requête. Quand je fais cela, t.co avec succès raccourcit la durée de l'URL, mais en suivant le lien abrégé, il vous mène à l'URL encodée. Je vois http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
dans la barre d'adresse, et obtenez l'erreur suivante dans le navigateur
Pas Trouvé
The requested URL /foo.htm?bar=123&baz=456 n'a pas été trouvée sur ce serveur.
Je suis à une perte quant à la façon de résoudre ce problème.
Edit: Re: onteria_
J'ai essayé d'encodage de l'URL en entier. Quand je ne l'URL s'affiche dans le Tweet.
- Vous avez besoin de les encoder l'URL en ENTIER. Qui comprend tout, de la
http://
bas
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne Pour Vous
Ici est un Exemple à ce Sujet
http://twitter.com/share?text=Im Partager sur Twitter&url=https://stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
Cela peut être résolu en utilisant
https://twitter.com/intent/tweet
au lieu dehttp://www.twitter.com/share
. À l'aide de laintent/tweet
fonction, il vous suffit d'encoder votre adresse URL et il fonctionne comme un charme.https://dev.twitter.com/web/intents
https://twitter.com/intent/tweet?text={text_to_share}
fonctionne parfaitement sur toutes les plateformes. Été la recherche haute et basse pour cela.. Merci!Utilisation tweet web de l'intention, c'est le simple lien:
plus de variables à https://dev.twitter.com/web/tweet-button/web-intent
Vous devez modifier & pour %26 dans la chaîne de requête à partir de votre url
Regardez ceci: https://dev.twitter.com/discussions/8616
Vous pouvez utiliser ces fonctions:
var url = ...
) lors de la génération de l'e-mail.N'a pas plus simple:
Vous n'avez pas nécessairement besoin de recourir à l'intention, il vous encodez votre URL, il travaillera avec twitter partager ainsi.
Comme @onteria_ mentionné, vous avez besoin pour coder l'ensemble du paramètre. Pour quelqu'un d'autre, face à la même question, vous pouvez utiliser les éléments suivants bookmarklet pour générer les url encodée. Copier coller dans votre barre d'adresse du navigateur pour créer le twitter partager l'url de. Assurez-vous que le
javascript:
préfixe est-il lorsque vous le copiez dans la barre d'adresse de Google Chrome supprime lors de la copie.Source sur les JS Fiddle
http://jsfiddle.net/2frkV/
Twitter vous permet désormais d'envoyer l'URL via un attribut de données. Cela fonctionne très bien pour moi:
Utiliser Twitter Intention de ressources https://dev.twitter.com/web/tweet-button/web-intent
Si vous l'ajoutez manuel sur un site en html, il suffit de remplacer:
Avec
Code html pour &