打开我的Facebook应用程序,比方说我的Facebook应用网址http://fb.domain.com/
和应用网址http://apps.facebook.com/demoapp/
如何检测或者用户在iframe或直接链接
现在我想用户无法直接打开应用程序网址,且必须在Facebook上的iframe。
如果用户直接打开链接,如何检测&重定向链接到http://apps.facebook.com/demoapp/
?
让我知道关键。
打开我的Facebook应用程序,比方说我的Facebook应用网址http://fb.domain.com/
和应用网址http://apps.facebook.com/demoapp/
如何检测或者用户在iframe或直接链接
现在我想用户无法直接打开应用程序网址,且必须在Facebook上的iframe。
如果用户直接打开链接,如何检测&重定向链接到http://apps.facebook.com/demoapp/
?
让我知道关键。
如果你只是想检测用户是否已经打开你的URL的iframe中,并启用JavaScript你可以这样做:
if (window!=window.top) { /* I'm in a frame! */ }
希望这能回答你的问题。
检查if (window!=window.top)
只会告诉您您的应用程序是否在iframe中打开。但是它并不知道它是否是FaceBook的iframe。在FaceBook iframe中打开应用程序时(例如http://apps.facebook.com/demoapp/
)FaceBook发送signed_request
参数。如果此参数有效,则可以安全地假定请求来自FaceBook iframe。如果没有重定向到正确的应用页面:
<script type="text/javascript">
top.location.href = "http://apps.facebook.com/demoapp/";
</script>
+1是的..这将工作得很好。我希望有另一种技术:) – wow 2011-03-05 08:12:17
真棒,谢谢! – Philoxopher 2011-03-05 08:18:24
非常感谢你。它为我做了诀窍:) – Shabith 2013-06-25 06:34:57