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