I wondered if anyone has found a workaround to the behaviour that I\'m experiencing.
Take the example of the below code:
A better solution that theoretically should save you a roundtrips is as follows (coffeescript, but easily translatable to javascript):
FB.init
appId: appId
channelUrl: channelUrl
status: true # Check Facebook Login status on init
cookies: true
xfbml: false
FB.getLoginStatus (response) =>
@parseResponse(response)
FB.Event.subscribe 'auth.statusChange', @parseResponse
FB.Event.subscribe 'auth.authResponseChange', @parseResponse
We're still using a manual getLoginStatus to fire when the user is unknown, but this time we still use 'status: true' so that the login status is already cached when getLoginStatus is called. By subscribing to the relevant events only after getLoginStatus has fired, we make sure the handling method parseResponse is only called once on load.