jbnunn jbnunn - 1 year ago 156
jQuery Question

Is there a callback for Twitter's Tweet Button?

Is there a way to register a callback on Twitter's Tweet button? I'd like to be able to track which particular users on my site have tweeted a link. I can't add on onClick event because it's a cross-domain iFrame. Any other ideas?

I've seen one way to do it but it seems unreliable. Their documentation doesn't mention anything so I am looking for help with a work-around.

Answer Source

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

  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:

// 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) {

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

// Wait until twttr to be ready before adding event listeners
twttr.ready(function (twttr) {
  twttr.events.bind('tweet', function(event) {
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download