Web Development

Facebook iFrame App / Page Tab Registration Just Got Easier

I don’t see that this has been announced or documented anywhere, but Facebook has made a change that will make it easier to fit a wider variety of apps into the registration form for Facebook apps and Facebook page tabs (particularly tabs).

The short version, for those who have been following the introduction of iFrame support in Facebook page tabs: you no longer have to define as a subdirectory or a file below the directory specified for your canvas URL.

I stumbled across this while writing some documentation for Caspio, the online database company. I’ve been doing a mix of writing, editing, and web consulting for Caspio, and I had recommended they change (or create an alternate version of) the URL addressing for their cloud database product to fit more neatly into the registration form. Now they don’t have to. I had also wrestled with some of the peculiarities of app/tab setup when programming my Facebook Tab Manager plugin for WordPress.

When you register an application with Caspio, they assign a coded URL with a query string that functions as your “application key.” For deployment to a regular website, you copy and paste a JavaScript snippet that has that URL embedded in it, and the JavaScript widget downloads your form or report.

To turn a Caspio app into a Facebook app, you can simply paste the coded URL into the Facebook Developers form. Facebook lets you invoke an app as an HTML iFrame that retrieves content from the address you specify.

However, after Facebook introduced iFrame support for page tabs in February, I found that registering a tab was not so simple.

It turns out Facebook expected you to structure the relationship between an app and a tab something like this:

Canvas (App version)


The app would then be available at a URL like

— and you can see the example “Contact Demo” tab at —

To produce this example, I had to create PHP files on that included the Caspio JavaScript widget.

The problem with trying to use the Direct from Caspio URL was that there is no way to define a “subdirectory” of a URL like

Last time I checked, the form was structured so that I could only specify the subdirectory or file name, not a full url. So if I put something in that blank, the Facebook platform would apparently try to interpret it as something like —

— not a legal URL, and so my page tab wouldn’t work.

But no longer! As of this morning, the form will now allow me to put the same URL in both the App Canvas and Tab URL blanks, and it works.

new app registration
Facebook App/Tab Registration with Query String


Leave a Reply