Ich versuche, einen Twitter-Freigabelink in eine E-Mail einzufügen. Da dies in einer E-Mail steht, kann ich mich nicht auf JavaScript verlassen und muss den Tweet-Button "Build Your Own" verwenden.
Beispiel: Teilen eines Links zu Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Das funktioniert gut. Das Problem, das ich habe, ist, wenn die URL eine Abfragezeichenfolge hat.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
URLs mit Abfragezeichenfolgen verwirren den URL-Verkürzungsdienst von Twitter, t.co. Ich habe versucht, die URL auf verschiedene Arten zu codieren, und kann nichts zum Laufen bringen. Das nächste, was ich bekommen habe, ist dies zu tun.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Hier habe ich nur die Abfragezeichenfolge codiert. Wenn ich dies tue, verkürzt t.co die URL erfolgreich, aber wenn Sie dem verkürzten Link folgen, gelangen Sie zur verschlüsselten URL. Ich sehe http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
in der Adressleiste und erhalte den folgenden Fehler im Browser
Nicht gefunden
Die angeforderte URL /foo.htm?bar=123&baz=456 wurde auf diesem Server nicht gefunden.
Ich weiß nicht, wie ich dieses Problem lösen soll.
Edit: Re: onteria_
Ich habe versucht, die gesamte URL zu verschlüsseln. Wenn ich das mache, wird im Tweet keine URL angezeigt.
quelle
http://
untenAntworten:
Dies wird für Sie funktionieren
Hier ist ein Live-Beispiel dazu
http://twitter.com/share?text=Im Teilen auf Twitter & url = https://stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
quelle
Dies kann durch Verwendung von
https://twitter.com/intent/tweet
anstelle von gelöst werdenhttp://www.twitter.com/share
. Mit derintent/tweet
Funktion codieren Sie einfach Ihre gesamte URL per URL und es funktioniert wie ein Zauber.https://dev.twitter.com/web/intents
quelle
https://twitter.com/intent/tweet?text={text_to_share}
funktioniert perfekt auf allen Plattformen. Ich habe hoch und niedrig danach gesucht. Danke!Verwenden Sie Tweet Web Intent, dies ist der einfache Link:
Weitere Variablen unter https://dev.twitter.com/web/tweet-button/web-intent
quelle
Einfacher geht es nicht:
quelle
Sie können diese Funktionen verwenden:
quelle
var url = ...
) nur beim Generieren der E-Mail erstellen .Sie müssen & in% 26 in der Abfragezeichenfolge Ihrer URL ändern
Schauen Sie sich das an: https://dev.twitter.com/discussions/8616
quelle
Ich verweise auf alle Methoden.
Die Abfrage zweimal zu codieren ist die schnelle Lösung.
quelle
Sie müssen nicht unbedingt Absicht verwenden, wenn Sie Ihre URL verschlüsseln, funktioniert dies auch mit der Twitter-Freigabe.
quelle
Wie @onteria_ erwähnt, müssen Sie den gesamten Parameter codieren. Für alle anderen, die mit demselben Problem konfrontiert sind, können Sie das folgende Lesezeichen verwenden, um die ordnungsgemäß codierte URL zu generieren. Kopieren Sie es und fügen Sie es in die Adressleiste Ihres Browsers ein, um die URL für die Twitter-Freigabe zu erstellen . Stellen Sie sicher, dass das
javascript:
Präfix vorhanden ist, wenn Sie es in die Adressleiste kopieren. Google Chrome entfernt es beim Kopieren.Quelle auf JS Fiddle http://jsfiddle.net/2frkV/
quelle
Wenn Sie es manuell auf einer HTML-Site hinzufügen, ersetzen Sie einfach:
Mit
Standard-HTML-Code für &
quelle
Mit Twitter können Sie die URL jetzt über ein Datenattribut senden. Das funktioniert gut für mich:
quelle
Verwenden Sie die Twitter Intent-Ressource https://dev.twitter.com/web/tweet-button/web-intent
quelle