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

Есть ли обратная связь для Twitter Twitter Button?

Есть ли способ зарегистрировать обратный вызов в Twitter? Я хотел бы иметь возможность отслеживать, какие конкретные пользователи на моем сайте имеют в твиттере ссылку. Я не могу добавить событие onClick, потому что это междоменный iFrame. Любые другие идеи?

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

4b9b3361

Ответ 1

Twitter События веб-внедрения для loaded, rendered, resize, tweet, follow, retweet, like и click.

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

Поведение было изменено осенью 2015 года из-за неуверенности обратных вызовов, которые происходят после завершения события.

Теперь они будут запускаться, когда пользователь вызывает действие на вашей странице, а не после завершения действия.

Пример загрузки widgets.js:

<script>
// Performant asynchronous method of loading widgets.js
window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);

  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };

  return t;
}(document, "script", "twitter-wjs"));
</script>

<script>
// Wait until twttr to be ready before adding event listeners
twttr.ready(function (twttr) {
  twttr.events.bind('tweet', function(event) {
    console.log(event);
  });
});
</script>

Ответ 2

Я только что внедрил твит-код.

Дополнительная информация о событии обратной связи Twitter
 - Twitter Web Intents
 - Веб-идеи Javascript Events

Обратный вызов Javascript

$.getScript("http://platform.twitter.com/widgets.js", function(){
   function handleTweetEvent(event){
     if (event) {
       alert("This is a callback from a tweet")
     }
   }
   twttr.events.bind('tweet', handleTweetEvent);        
 });

Кнопка твитта:

 <a href="http://twitter.com/intent/tweet?url=http://test.com;via=stack">twitter</a>

Ответ 3

Если вы загрузите JS Twitter Widgets, вы можете привязать функцию обратного вызова к событию tweet. См. Код ниже:

<a href="https://twitter.com/intent/tweet?url=http://yoursite.com/about&text=Message">Twitter</a>

<script>        
//Twitter Widgets JS
window.twttr = (function (d,s,id) {
 var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));

//Once twttr is ready, bind a callback function to the tweet event
twttr.ready(function(twttr) {       
    twttr.events.bind('tweet', function (event) {
        console.log('tweet, tweet');
    });
});
</script>

Ответ 4

да, есть функция обратного вызова. для пользовательских кнопок Twitter. вы можете найти его здесь: https://dev.twitter.com/discussions/671

Ответ 5

function loguser( event ) {
    if ( event ) {
        alert( 'Tweeted' );
        console.log( event );
    }
}

window.twttr = (function (d,s,id) {
    var t, js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
    js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
    return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
    }(document, "script", "twitter-wjs"));

twttr.ready(function (twttr) {
    twttr.events.bind('tweet', loguser);
});

Рабочий пример

Ответ 6

<a href="#" onclick="location.href='https://twitter.com/IamAnessaReyes'; return false;" class="twitter-follow-button" data-show-count="false">Follow @IamAnessaReyes</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>