Я пытаюсь разместить ссылку для публикации в Твиттере в электронном письме. Поскольку это электронное письмо, я не могу полагаться на JavaScript и вынужден использовать кнопку «Создать свой собственный твит».
Например, поделившись ссылкой на Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Это прекрасно работает. У меня проблема, когда в URL-адресе есть строка запроса.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
URL-адреса со строками запроса сбивают с толку службу сокращения URL-адресов Twitter, t.co. Я пробовал кодировать URL-адрес разными способами и не могу заставить ничего работать. Самое близкое, что я получил, - это сделать это.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Здесь я закодировал только строку запроса. Когда я это делаю, t.co успешно сокращает URL-адрес, но после перехода по сокращенной ссылке вы попадаете на закодированный URL-адрес. Я вижу http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
в адресной строке и получаю следующую ошибку в браузере
не обнаружена
Запрошенный URL /foo.htm?bar=123&baz=456 не найден на этом сервере.
Я не понимаю, как решить эту проблему.
Изменить: Re: onteria_
Я пробовал кодировать весь URL. Когда я это делаю, в твите не отображается URL.
источник
http://
низаОтветы:
Это сработает для вас
Вот живой пример об этом
http://twitter.com/share?text=Im Совместное использование в Твиттере & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
источник
Это можно решить, используя
https://twitter.com/intent/tweet
вместоhttp://www.twitter.com/share
. Используя этуintent/tweet
функцию, вы просто URL-адрес кодируете весь свой URL-адрес, и это работает как шарм.https://dev.twitter.com/web/intents
источник
https://twitter.com/intent/tweet?text={text_to_share}
отлично работает на всех платформах. Долго искал это ... Спасибо!Используйте веб-намерение твита, это простая ссылка:
больше переменных на https://dev.twitter.com/web/tweet-button/web-intent
источник
Нет ничего проще:
источник
Вы можете использовать эти функции:
источник
var url = ...
) при создании электронного письма.Вы должны изменить & на% 26 в строке запроса с вашего URL-адреса
Взгляните на это: https://dev.twitter.com/discussions/8616
источник
Ссылаюсь на все методы.
Закодировать запрос дважды - быстрое решение.
источник
Вам не обязательно использовать намерение, если вы закодируете свой URL-адрес, он также будет работать с общим доступом в Twitter.
источник
Как упоминалось в @onteria_, вам необходимо закодировать весь параметр. Для всех, кто сталкивается с той же проблемой, вы можете использовать следующий букмарклет для создания правильно закодированного URL-адреса. Скопируйте и вставьте его в адресную строку браузера, чтобы создать URL- адрес общего доступа в Twitter . Убедитесь, что
javascript:
префикс есть, когда вы копируете его в адресную строку, Google Chrome удаляет его при копировании.Источник на JS Fiddle http://jsfiddle.net/2frkV/
источник
Если вы добавляете руководство на html-сайт, просто замените:
С участием
Стандартный html-код для &
источник
Twitter теперь позволяет отправлять URL-адрес через атрибут данных. Это отлично работает для меня:
источник
Используйте ресурс Twitter Intent https://dev.twitter.com/web/tweet-button/web-intent
источник