Как обнаружить, что пользователи открывают мое приложение Facebook в iframe или прямое URL-адрес

Допустим, что мой URL-адрес приложения для Facebook – http://fb.domain.com/ а URL-адрес приложения – http://apps.facebook.com/demoapp/

Теперь я хочу, чтобы пользователь не мог открыть URL-адрес приложения напрямую и должен в iframe на Facebook.

Как определить и перенаправить ссылку на http://apps.facebook.com/demoapp/ если пользователь напрямую откроет ссылку?

Дайте мне знать ключ.

Solutions Collecting From Web of "Как обнаружить, что пользователи открывают мое приложение Facebook в iframe или прямое URL-адрес"

Если вы просто пытаетесь определить, открыл ли пользователь ваш 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>