Есть ли в Javascript решение «Tweet this» для ссылок с сокращением URL, которое не загружает файлы из других доменов? - PullRequest
2 голосов
/ 22 января 2010

Запросы к сторонним серверам продолжают замедлять мой сайт, поэтому я стараюсь сделать как можно меньше.

В моей книге идеальное решение "твитнуть это" должно

  • небольшой фрагмент JavaScript для размещения на моем собственном сайте
  • не выполняет никаких действий при загрузке страницы (хотя бы как можно меньше, но никаких дополнительных HTTP-запросов)
  • просто при нажатии, получить короткий URL и отправить его в Твиттер

Есть что-нибудь подобное? Все найденные решения загружают данные с других серверов во время загрузки моей страницы.

Я не возражал бы сам выполнить некоторые сценарии вокруг этого, но, конечно, я не хочу заново изобретать колесо, если есть хорошее решение.


РЕДАКТИРОВАТЬ: В случае, если кто-то заинтересован в том, что я в конечном итоге закончил.

Я решил реализовать вызов API в моем бэкэнде, инициируемый запросом AJAX, когда пользователь нажимает кнопку. С точки зрения клиента, это решение требует наименьших ресурсов и настолько лениво, насколько это возможно. Плюс: обращение к API-интерфейсу bit.ly напрямую тривиально.

Однако: retweet.js (опубликовано ниже) по-прежнему является лучшим из готового решения на стороне клиента, которое я когда-либо видел.

Ответы [ 2 ]

2 голосов
/ 22 января 2010

Не уверен на 100%, что это то, что вам нужно, но вы смотрели на это?Кнопка Easy Retweet от John Resig http://ejohn.org/blog/retweet/

Он использует bit.ly для сокращения URL-адресов и перенаправления пользователя на свою страницу входа в Twitter.

О, а также использует jQuery, который можно разместитьтвой сайт.: -D

0 голосов
/ 26 января 2010

Вы можете пойти с действительно lo-fi решением и просто связать с страницей Твиттера со своей домашней страницы. Добавить ссылку как это:

<a href="http://twitter.com/home?status=[mystatus]" target="_blank">Tweet this!</a>

... где [mystatus] будет некоторой строкой, представляющей твит, который вы хотите отправить пользователю.

При нажатии на эту ссылку откроется новое окно / вкладка, и, если пользователь вошел в Twitter, он заполнит введенное сообщение о статусе строкой [mystatus]. Если пользователь не вошел в систему, он будет перенаправлен на экран входа в Twitter, и после успешного входа в систему его статус будет заполнен строкой [mystatus].

Вам потребуется какое-то решение для настройки строки [mystatus], чтобы она содержала то, что вы хотите, чтобы она содержала. Некоторые варианты:

  • Это можно сделать с помощью языка на стороне сервера: создать и заполнить атрибут href тега привязки до того, как HTML будет скомпилирован и отправлен клиенту.
  • Вы также можете сделать это с помощью JavaScript после загрузки страницы: прикрепите некоторую функцию при загрузке страницы, которая изменит атрибут href тега привязки, чтобы он содержал желаемое сообщение о состоянии.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...