I’m using the fbAsyncInit method for an iframe application that lives in a fan page tab
<script>
window.fbAsyncInit = function() {
console.log('fb init');
FB.init({
appId : 12345,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
And when I call a register function to check permissions (this happens when a user clicks a button after the page is loaded)
register = function(){
console.log('starting login');
FB.login(function(response) {
if (response.session) {
console.log(response.session);
} else {
console.log('Did not authorize');
}
}, {perms:'email,publish_stream'});
};
Facebook loads the popup from: http://static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb={session string variables and other junk here}
Which produces a flash error in IE only:
Error #2044: Unhandled StatusEvent:. level=error, code=
My site has no flash in it
Hitting continue/dismiss may sometimes freeze IE causing me to end process, other times the popup goes away
We found the solution for the Flash problem. Please update
FB.init:In your domain root folder create
channel.htmland put only this code in it:Now the Flash on Facebook works properly.