Подтвердить что ты не робот

Пользовательский дизайн для кнопки Twitter с событиями

У меня есть пользовательская кнопка твитта:

<a href="#" onclick="location.href='http://twitter.com/share?url=http://example.com;text=myText;size=l&amp;count=none'; return false;" target="_blank">
    <div>
        <img src="/assets/twitter-logo.jpg">
        <span>Twitter</span>
    </div>
</a>

Теперь я хочу добиться некоторого результата после публикации твита. Для этого я просмотрел API событий Twitter:

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script type="text/javascript">
    twttr.events.bind('tweet', function (event) {
        alert("Tweet Successful");
    });
</script>

Однако этот API работает только на нестандартных кнопках (twitter-share-button class).

Кому удалось создать пользовательскую кнопку, которая прослушивает события?

4b9b3361

Ответ 1

У вас может быть пользовательская ссылка и все еще есть веб-намерения!

Клавиша , вместо вашей ссылки, указывающей на "https://twitter.com/share, должна указывать на "https://twitter.com/intent/tweet"

вот так:

<a href="https://twitter.com/intent/tweet">Tweet</a>

Таким образом вы можете использовать веб-намерения, как вы пытались:

twttr.events.bind('tweet', function (event) {
  // Do something there
  alert('Tweeted');
});

Проверьте jsFiddle

Ответ 2

У меня есть файл с общим действием

<a href="#" onclick="location.href='https://twitter.com/share'; return false;" class="twitter-share-button" data-via="pincheregio" data-size="large" data-count="none">Tweet</a>

<script>
    !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

      twttr.ready(function (twttr) {
        twttr.events.bind('tweet', function (event) {
        alert("paso");
      });

    });
</script>

http://jsfiddle.net/aXCNX/139/