如何检测用户在iframe或直接url中打开我的Facebook应用程序

让我说我的Facebook应用程序url是http://fb.domain.com/ ,应用程序url是http://apps.facebook.com/demoapp/

现在我希望用户无法直接打开应用程序URL,必须在Facebook上的iframe中。

如果用户直接打开链接,如何检测并重定向到http://apps.facebook.com/demoapp/的链接?

让我知道关键。

如果您只是想检测用户是否在iframe中打开了您的url,请启用javascript,您可以执行以下操作:

 if (window!=window.top) { /* I'm in a frame! */ } 

希望这能回答你的问题。

检查if (window!=window.top)是否仅告诉您是否在iframe中打开了应用程序。 但它不会告诉它是否是FaceBook iframe。 在FaceBook iframe中打开应用程序时(例如http://apps.facebook.com/demoapp/发送signed_request参数。 如果此参数有效,您可以安全地假设请求来自FaceBook iframe。 如果没有重定向到正确的应用程序页面: