I have added a Facebook like box and like buttons on my blog and, recently, I've been seeing on analytics a lot of hits to pages ending with ?fb_xd_fragment=.

I've found a related thread on the Facebook Forums which, worryingly, mentions that for some weird reason IE8 users are being redirected to a blank page! This is terrible, am I loosing a significant portion of my visitors because when they try to visit my blog they're greeted by a blank page? (I don't have at hand a Windows computer with IE8 to check)

Also on a related question on SO, it is suggested to add xmlns:fb="facebook.com/2008/fbml" to the main html tag (which I've done just now), and to add a channel.html file. But I can't do the later, because my blog is hosted on blogger and I can't upload html files.

So my question is twofold: (1) even after adding the xmlns:fb, could this still be an issue that affects IE8 visitors and (2) how should I go about to fix it for my blog on blogger?

link|improve this question
I tried loading pedazosdecarbono.blogspot.com/?fb_xd_fragment=test and I got a blank page in both IE9 and Chrome. – DisgruntledGoat Oct 18 '11 at 9:22
feedback

4 Answers

Looking at the Facebook Platform bug (marked "WontFix") a workaround seems to be to add the following to your pages:

From comment 14:

<!-- Correct fb_xd_fragment Bug Start --> 
<script> 
document.getElementsByTagName('html')[0].style.display='block';
</script> 
<!-- Correct fb_xd_fragment Bug End -->

Alternatively, you could look into implementing the solution proposed by comment 66, however as you're hosted on Blogspot I don't think that solution is open to you, as it requires the creation of an additional file on the server.

link|improve this answer
feedback

on a page linked (this one) on the thread you linked it said:

This Javascript to escape being framed on the page is the source of the problem:

0) { parent.location.href = location.href; } -->

When I remove that, Internet Explorer works.

The page works fine in both Firefox and Chrome with that code included on the page.

I unfortunately also can not reproduce the problem, but i hope that helps.

link|improve this answer
feedback

Try to look at this fix

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>  
link|improve this answer
feedback

I found this occurring on one of my sites using AddThis - and it affects ALL browsers, not just Internet Explorer. Haven't figured out exactly how or why it happens but the Facebook frame manages to set the parent's <html> element to display: none.

There is a simple workaround though - just add this to your stylesheet:

html { 
    display: block !important;
}

That overrides the inline style and stops the page disappearing.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.