Допустим, что мой URL-адрес приложения для Facebook – http://fb.domain.com/
а URL-адрес приложения – http://apps.facebook.com/demoapp/
Теперь я хочу, чтобы пользователь не мог открыть URL-адрес приложения напрямую и должен в iframe на Facebook.
Как определить и перенаправить ссылку на 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>