Saya mencoba memasukkan tautan berbagi Twitter di email. Karena ini ada dalam email, saya tidak dapat mengandalkan JavaScript, dan harus menggunakan tombol Tweet "Buat Milik Anda".
Misalnya, membagikan link ke Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Ini bekerja dengan baik. Masalah yang saya alami adalah ketika URL memiliki string kueri.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
URL dengan string kueri membingungkan layanan pemendekan URL Twitter, t.co. Saya sudah mencoba pengkodean URL ini dengan berbagai cara dan tidak dapat membuat apa pun berfungsi. Yang paling dekat yang saya dapatkan adalah dengan melakukan ini.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Di sini saya hanya mengkodekan string kueri. Ketika saya melakukan ini, t.co berhasil mempersingkat URL, tetapi setelah mengikuti tautan yang dipersingkat, itu membawa Anda ke URL yang disandikan. Saya melihat http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
di bilah alamat, dan mendapatkan kesalahan berikut di browser
Tidak ditemukan
URL yang diminta /foo.htm?bar=123&baz=456 tidak ditemukan di server ini.
Saya bingung bagaimana mengatasi masalah ini.
Edit: Re: onteria_
Saya sudah mencoba menyandikan seluruh URL. Saat saya melakukannya, tidak ada URL yang muncul di Tweet.
sumber
http://
bawahJawaban:
Ini akan Bekerja Untuk Anda
Berikut adalah Contoh Langsung Tentang itu
http://twitter.com/share?text=Im Berbagi di Twitter & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
sumber
Hal ini dapat diselesaikan dengan menggunakan
https://twitter.com/intent/tweet
bukanhttp://www.twitter.com/share
. Dengan menggunakanintent/tweet
fungsi tersebut, Anda cukup menyandikan URL seluruh URL Anda dan berfungsi seperti pesona.https://dev.twitter.com/web/intents
sumber
https://twitter.com/intent/tweet?text={text_to_share}
bekerja dengan sempurna di semua platform. Telah mencari tinggi dan rendah untuk ini .. Terima kasih!Gunakan maksud web tweet, ini tautan sederhananya:
lebih banyak variabel di https://dev.twitter.com/web/tweet-button/web-intent
sumber
Tidak lebih sederhana dari ini:
sumber
Anda dapat menggunakan fungsi-fungsi ini:
sumber
var url = ...
) saat membuat email.Anda harus mengubah & menjadi% 26 dalam string kueri dari url Anda
Lihat ini: https://dev.twitter.com/discussions/8616
sumber
Saya mereferensikan semua metode.
Menyandikan kueri dua kali adalah solusi cepat.
sumber
Anda tidak perlu menggunakan maksud, itu Anda menyandikan URL Anda itu akan berfungsi dengan berbagi twitter juga.
sumber
Seperti yang disebutkan @onteria_, Anda perlu mengenkode seluruh parameter. Untuk orang lain yang menghadapi masalah yang sama, Anda dapat menggunakan bookmarklet berikut untuk menghasilkan url yang dikodekan dengan benar. Salin dan tempel ke bilah alamat browser Anda untuk membuat url berbagi twitter . Pastikan
javascript:
awalan ada di sana saat Anda menyalinnya ke bilah alamat, Google Chrome menghapusnya saat menyalin.Sumber di JS Fiddle http://jsfiddle.net/2frkV/
sumber
Jika Anda menambahkannya secara manual di situs html, ganti saja:
Dengan
Kode html standar untuk &
sumber
Twitter sekarang memungkinkan Anda mengirim URL melalui atribut data. Ini bagus untuk saya:
sumber
Gunakan sumber daya Twitter Intent https://dev.twitter.com/web/tweet-button/web-intent
sumber