Recently I came across the FB JS API’s login functionality is not working on IE browsers, after hours of hunting I nailed it down by following ways,
If you are getting the blank page showing title as XD Proxy than you are bugged by new version of flash I guess it is a 10.3 something. In this scenario the page doesn’t get closed even user is logged in to the facebook. Just disable the flash and see it will work, but it is not feasible solution, in my case I fixed this issue by following,
1. Add channel.html page into your site, don’t write anything in this page. clean it and add all.js script tag into it. Basically this page is used for channeling purpose.
2. Careful between http/https because if your site uses https anytime for any call than don’t forget to get the scripts from https. But if your site is plain http based than download the all.js from http location.
3. Load the “init” script asynchronously.
Can you please explain the 3rd step? I am having the same trouble at the moment.
Thanks
Third step is just to load FB script asynchronously you can see here http://developers.facebook.com/docs/reference/javascript/
Those fixes didn’t work for me, I’ve been experiencing the same issue in IE9, and it seemed to stem from upgrading to Flash Player 10. I’d lost hope in trying to fix it since finding an open bug at Facebook http://bugs.developers.facebook.net/show_bug.cgi?id=12112 covering it. But Henson has posted an answer http://stackoverflow.com/a/9256756/575530 that fixed it for me. In the JavaScript in my site master I removed the lines
FB.UIServer.setLoadedNode = function (a, b) {
//HACK: http://bugs.developers.facebook.net/show_bug.cgi?id=20168
FB.UIServer._loadedNodes[a.id] = b;
};
and now it works. (N.B. I have not checked to see if the IE8 issue those lines were intended to overcome returns.)