Detect when user “clicks” the Facebook like button

Is it possible to detect when someone clicks the like button “and before the like action really occurs”, i.e. same as onSubmit JS event, it detects when the user submit the form before it even get submitted, giving the ability to process/run some code before it do so.

Usage:
I am trying to implement a Web 2.0 page where all the action happens in one page, so depending on the user actions the content of the page would change “But not the meta”

So my question is, can I detect when the user “clicks” the like button so I can “load” the meta of the current page before the like action really happens?

P.S, I do know that it’s not a big deal to load the meta as it’s less than 1KB and won’t have any effect, however I am just curious if there is any way/ work around to do so.

Answer

You can subscribe to an event that will notify you when the user likes something – however this will fire after the action. This is documented at: http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

An example would be:

FB.Event.subscribe('edge.create', function(response) { alert('You liked the URL: ' + response); /* check the response here to see if it's your URL */ });

You could attempt to intercept the action but why would you want to wait to add the meta? Do you mean the open graph headers? Facebook scrapes these every 24-hours, not for each unique like event. Also it would most likely be against Facebook’s terms to intercept/alter the like action, as you’d be interfering with their established and expected guidelines.

Leave a Reply

Your email address will not be published. Required fields are marked *