1

I'm writing a Facebook iframe/Facebook Connect application and one of the pages includes a multi-friend-selector. It renders perfectly in every browser I tried (FF/Mac, Safari/Mac, IE8/Win) but does not render at all in IE7/Win. I waited and waited (in case it was just being slow) and it never appeared.

Here's my code.

<fb:serverfbml style="width:750px;height:700px">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
 action="<? echo $invite_href; ?>"
 method="post"
 type="<? echo $app_name; ?>"
 content="<? echo htmlentities($content,ENT_COMPAT,'UTF-8'); ?>">
 <div class="clearfix" style="padding-right:20px;" height="500" width="750">
 <fb:multi-friend-selector
  actiontext="Here are your friends who don't have <? echo $app_name; ?> yet. Invite your friends and let them help too - it's free!"
  exclude_ids="<? echo $friends; ?>" />
 </div>
</fb:request-form>
</fb:fbml>
</script>
</fb:serverfbml>

The other required things (FeatureLoader.js and all that) are (must be) properly included, since the friend selector and every other fb tag I use around the application works perfectly. The serverfbml tag is the ONLY thing giving me trouble in IE7. Most people seem to have a problem with the selector rendering at an annoying 150px tall - I can't seem to find anyone else who has a problem with it not rendering at all.

Jackie
  • 1,630
  • 2
  • 15
  • 12
  • I've just started fiddling with FB myself; the docs mention that XFBML rendering needs to use separate close tags `` instead of the short form ``, perhaps that's the problem: `` – devstuff Nov 02 '09 at 17:22

4 Answers4

1

You do not need the closing tags because you're rendering FBML insdie the serverfbml tag, not xfbml. Another thing I noticed is you're passing PHP variables into it, whereas I'm pretty sure Facebook strips out all your php from within the server fbml, I may be wrong though.

Daniel

0

Another SO post, which solved my problem: Why does this XFBML markup embedded within an iframe'd facebook application not display anything?

Community
  • 1
  • 1
Jackie
  • 1,630
  • 2
  • 15
  • 12
0

Are you using IE Tester to test ie6? If so it fails to render, this is an IE Tester bug.

jtymann
  • 763
  • 1
  • 9
  • 17
0

Facebook is encouraging developers to switch to Requests 2.0. FBML is being deprecated and so reliance on fb:serverFbml will likely by phased out at some point this year. Fortunately there is a MUCH easier way to do this using the JavaScript SDK and it even works on websites.

FB.ui({method:'apprequests',...});

Learn more about using this here: http://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/

Erik Giberti
  • 1,235
  • 9
  • 11