打開我的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