2011-03-05 25 views
4

打開我的Facebook應用程序,比方說我的Facebook應用網址http://fb.domain.com/和應用網址http://apps.facebook.com/demoapp/如何檢測或者用戶在iframe或直接鏈接

現在我想用戶無法直接打開應用程序網址,且必須在Facebook上的iframe。

如果用戶直接打開鏈接,如何檢測&重定向鏈接到http://apps.facebook.com/demoapp/

讓我知道關鍵。

回答

10

如果你只是想檢測用戶是否已經打開你的URL的iframe中,並啓用JavaScript你可以這樣做:

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

希望這能回答你的問題。

+0

+1是的..這將工作得很好。我希望有另一種技術:) – wow 2011-03-05 08:12:17

+0

真棒,謝謝! – Philoxopher 2011-03-05 08:18:24

+0

非常感謝你。它爲我做了訣竅:) – Shabith 2013-06-25 06:34:57

8

檢查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> 
相關問題