4

I'm using the Facebook JavaScript API to add 'like' buttons in an application. I've encountered a problem where if the user has disabled third-party cookies in the browser preferences for Firefox, clicking the like button results in an infinite loop of auth.prompt then edge.remove events (after allowing pop-ups for the site). This loop can only be broken if the user is quick enough to close the pop-up prompts. Also, the link associated with the 'like' button never actually gets 'liked'.

I understand that it would require the user to change their preferences, but currently there is no simple way to a) detect that Facebook's API is causing an infinite loop, or b) gracefully stop the loop and alert the user to the issue (i.e., presenting a message that states the 'like' button will not work without third-party cookies being enabled).

I'm wondering if anyone has any suggestions for how to do this. All I can think right now is to subscribe to the 'auth.prompt' and/or 'edge.remove' events, and if multiple events for the same link are recorded, alert the user to the issue then reload the page to stop the auth prompt windows. That might be fine in simple cases, but it could result in lost work/settings if it takes place within a complicated app.

Any ideas?

Edit: to test this, disable third-party cookies in the Firefox privacy settings, then try visiting this page, and click the sample 'like' button: http://www.addthis.com/features/facebook-like-button#.Tx8DBPl7cjx

mleahy
  • 93
  • 1
  • 5
  • I'm afraid, they didn't think about it. I tested fb site with js turned off a year ago and it wasn't work here and there. – kirilloid Mar 01 '12 at 22:12

1 Answers1

3

First of all, you shouldn't really care about this issue. If somebody has third-party cookies disabled chances are the user already knows FB Like buttons don't work for him.

If you still wanted to try a workaround for this you should use one of the complex methods available to check if third-party cookies are disabled. Here's one: Check if third-party cookies are enabled

Then if cookies are disabled you can hide all Like buttons with JavaScript.

Community
  • 1
  • 1
Felipe Brahm
  • 3,162
  • 1
  • 28
  • 42