My server suddenly logged a rash of weird requests with something like ?fb_xd_fragment= in the URL. This is not good, because if you try this manually it renders a blank page, and blank pages are BAAAAAAAD! So upon googling I found it’s a bug with new Facebook API and (you guessed it) Internet Exploder. Here is a fix I found at Colnect.com and am reposting with my own comments. It works if you are using the xfbml method of implementing the Facebook Like button.
If you’re using iframe I don’t know what you would do, or whether you would even see this issue.
Where you have your FB.init, add a channelUrl parameter as follows:
FB.init({appId: appId, status: true, cookie: true, xfbml: true, channelUrl: 'http://example.com/channel.html'}); // ^ channel URL above used to workaround fb_xd_fragment bug
Next implement a special static channel page. On that page include the javascript for the Facebook connect as follows:
<script src="http://connect.facebook.net/en_US/all.js"></script>
Unknown at this writing whether you are meant to remove the original line of code where you include the facebook connect URL but I suspect not–I suspect this is just a special deal for IE users. Also he made reference to setting the expiry headers correctly on the channel page or it could slow things down. Here is a page that talks about expiry headers. I’m guessing you would set the expiry time to never, since the channel is a static page. Also, since my site is wordpress, you don’t do headers directly in the static content area of the page, but rather in some “meta” way. Here is a page that discusses how you can use .htaccess to set your expiry headers in a wordpress blog running on Apache.
Anyway I will update this blog post in a week or so to let you know if it stopped those weird requests coming in.
Just experienced this bug. Thanks so much for the information on getting it fixed!
there seems to be a lot of hassle with FBML and custom scripts, I had some problems too with my fb integration
Did it work then?
results mixed. Still getting those weird lines in the logs but less.
Can you go over changing the FB.init
Where is it located etc?
You are required to put a FB.init near the beginning of your code. It varies depending on your app. I put it in the header section of my blog.