Can an application tab be an IFRAME app?

Jul 27, 2009 at 8:52 PM

I can't seem to get a application tab to appear if it's an IFRAME app.  I can get it to work though if I just build an FBML page.  Am I doing something wrong or is this by design?

Developer
Jul 28, 2009 at 3:25 PM

I don't think there are any specific limitations on application tabs like that that I know of. What specifically isn't working? Does it not show up in the menu of apps to add as a tab?

Jul 28, 2009 at 3:36 PM

I can add the application's tab to the user's profile, but the tab's content doesn't display properly.  When I build the tab page as an IFRAME app I usually get absolutely nothing when the tab tries to render or I get a bunch of Facebook rendering errors.

Jul 31, 2009 at 8:27 PM

You cannot render tabs in iFrame apps beacuse if you use XFMBL to render tabs it makes another smaller iFrame. When you click

on link inside tabs you will not see nothing becuase of size of this another iFrame. If you want to user Facebook style tabs and many

more facebook controls build like asp.net user controls from your iFrame apps please look at my library:

http://forum.developers.facebook.com/viewtopic.php?id=37131

 

Jul 31, 2009 at 10:33 PM

Well, I don't actually want to render Facebook tabs (i.e. fb:tabs and fb:tab-item) in an iframe...  I want to see if it was possible to render an IFRAME app within the Facebook application tab.

And it's not 100% accurate to say you can't render tabs in an IFRAME app, now is it?  All your need to do is use the fb:serverfbml tag and you can embed any FBML you want...  although you do have that iframe size issue, which I've hacked around a bit to solve in a few cases.  But your controls deal with that automatically?  That is interesting.  You don't happen to have a control already that renders the Facebook success and error messages properly?  I'm guessing if you got all those other things to work, the success and error messages should be very simple.

 

Jul 31, 2009 at 11:19 PM

I am glad you find a way to hack this feature :) I personaly avoid xfbml if it is not neccesary. It always takes some time to display i.e. there are delay

between xfmbl controls and html on iFrame apps. My tab control render pure html and facebook css. Additionaly it is has some advantages vs

facebook tabs.

 

Thanks for your suggestion. I will consider to insert these controls in next version along with many other fbml wrappers.

Aug 2, 2009 at 2:43 AM

Oh, so you don't use fb:serverfbml?  I can see how that would be faster and easier in many ways. What about if Facebook changes the behavior of some of their FBML controls?  I guess you then have to update your controls?  Has that happened much since you created them?

Aug 2, 2009 at 12:22 PM

I use fb:serverfbml only when I have to, but  using my library I am much more independent of changes in facebook api and fbml. If it happens

I only change implementation of my lib and add new version of lib on all my apps. I don't need to make changes on all my apps in this case

because interface stay the same.

 

Sep 3, 2009 at 8:14 PM

I am assuming that by now everyone realizes that you can render html (with some exceptions) in an application tab.  However, my question is since you are not logged in....the API is very limited.  So, how could I for instance get the tab owners list of fan pages?  If you attempt to do this via fql or pages.getInfo you get an empty xml doc back. 

It would appear that passing in a session along with the call would help...but I don't see a way to do that via the API.  Anyone else attempting to do this or is this just a limitation of working within a application tab that I'll have to work around another way?

Sep 3, 2009 at 8:27 PM

I've recently run into pretty much the same issue.  It'd be nice if there was some way in the API to identify the user if they are logged in but not force them to sign in. 

Sep 3, 2009 at 8:34 PM

That would be cool.  In my case though...I'm not interested in the logged in user at all.  I am just trying to the info for the tab owner.  You would think, since they approved the application, that this info would be available. 

Sep 3, 2009 at 9:03 PM

If it'll help, I did find a workaround to get the tab owner.  Their facebook ID is passed as a URL parameter -- fb_sig_profile_user.  So I just do a Request["fb_sig_profile_user"] to get it and then I can use the API to get information about the tab owner. 

Or are you already able to get their ID but simply can't do anything with it?  I believe I've been able to use it to get basic info about the owner via API.users.getInfo but I haven't needed to do much more yet.

 

Sep 3, 2009 at 9:06 PM

Yup...I can get basic info from the fb_params no problem.  It is anything outside of that that is an issue.  Like my example above....get fan pages....is not part of the basic info.  I need that part.

Sep 3, 2009 at 9:10 PM

I have the page_id's stored from when the user sets up the app.  I wonder if there is a way to just verify if they (that pages) still exist or if the tab owner is still a fan (from within the application tab)?