如何在Facebook页面选项卡应用程序中处理导航

问题描述:

我正在处理页面选项卡应用程序,并且遇到导航问题。我的应用程序用MVC3编写,显示和验证就像一个页面标签。当我点击我的选项卡时,我的应用程序按预期收到带有signed_request对象的POST。如何在Facebook页面选项卡应用程序中处理导航

我的问题是,我怎么能支持我的应用程序链接到其他网页?当用户点击链接时,我想要在我的应用程序中调用一个动作,并且不要离开Facebook iframe。另外,我需要传递signed_request,所以我有一个用户上下文。

起初,我认为这是不支持的,所有的页面标签应用,必须写成单页的应用程序。然而,我发现了一些实际上正在寻找的例子。

点击图片:

https://www.facebook.com/Sephora/app_305927716147259

和:

http://woobox.com/pinterest

如何这些应用程序处理iframe中页面导航?

点击图像上的表现似乎是相当糟糕的。他们在幕后做了些什么,还有更直接的导航方式吗?

我也将需要处理的帖子。

谢谢。

当用户点击一个链接时,我想要在我的应用程序中调用一个动作并且不离开Facebook iframe。

嗯,这就是正常的HTML链接做的 - 所以在这一点:-)

除了不需要额外的努力,我需要沿所以我有一个用户上下文传递的signed_request。

您可以将它作为每个链接的GET参数传递 - 但这样用户可以很容易地“看到”它,它也可能会转移到外部服务器(如果有任何外部资源嵌入到您的页面中)通过HTTP引用。

更好的解决方案恕我直言,是存储在会话中签名的请求的服务器端(已经被解析,如果你喜欢),让您可以访问它在您的应用程序的页面。

+0

据我所知,Safari不支持iframe cookies,因此基于cookie的会话存储已经不存在。传递signed_request或者一些新的结构,在每个获取和发布过程中似乎是目前唯一的选择。 – rboarman 2012-07-20 18:15:13

+0

那么,你可以让你传递的每一个请求的数据也只是一个会话ID。 – CBroe 2012-07-20 19:50:56