有没有一种可靠的方法来确定my_page是否被加载到只有facebook的iframe中?
一些部分有用的技术:
A (php) - php $ _REQUEST似乎有一些隐含的可能性,但似乎有问题,因为我相信它可以被其他网站模仿。
B (js) - 我可以使用js来执行(self == parent)来确定my_page是否被加载到父框架中......但是我不能得到任何信息。例如,父母的网址。
C (fb-jsSDK) - facebook javascript SDK为我提供了一些关于my_page是否由登录用户加载的信息,但似乎没有信息如果由未登录的用户加载。
IGY(以及其他人):请不要丢弃我的帖子......如果你知道在互联网上有更好的地方提出这个问题,请告诉我。 Facebook建议开发人员来这里提问。
答案 0 :(得分:1)
我认为最好的方法是查找signed_request
参数 - 当和成功验证它时,您可以确定它是初始的直接在Facebook上将您的应用加载到画布或页面标签iframe中。
(验证signed_request需要您的应用程序保密,只有您和Facebook知道这一点。)
由于您的页面初始加载时只获得signed_request
,因此您应该将该信息 - 页面已在facebook.com上的iframe中调用 - 进入您的会话,以便您可以在后续页面上查找。