Is there a callback for Twitter's Tweet Button? Is there a callback for Twitter's Tweet Button? jquery jquery

Is there a callback for Twitter's Tweet Button?


Twitter has Web Intent events for loaded, rendered, resize, tweet, follow, retweet, like, and click.

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

The behavior was changed in the fall of 2015 due to the unreliableness of callbacks happening after an event is complete.

They will now be triggered when a user invokes the action in your page, rather than after the action is completed.

Example loading widgets.js:

<script>// Performant asynchronous method of loading widgets.jswindow.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 listenerstwttr.ready(function (twttr) {  twttr.events.bind('tweet', function(event) {    console.log(event);  });});</script>


I have just implemented a tweet callback event.

More information on Twitter's callback event
- Twitter Web Intents
- Web Intents Javascript Events

The Javascript callback

$.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);         });

The tweet button:

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


If you load the Twitter Widgets JS, you can bind a callback function to the tweet event. See the code below:

<a href="https://twitter.com/intent/tweet?url=http://yoursite.com/about&text=Message">Twitter</a><script>        //Twitter Widgets JSwindow.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 eventtwttr.ready(function(twttr) {           twttr.events.bind('tweet', function (event) {        console.log('tweet, tweet');    });});</script>