Допустим, URL-адрес моего приложения Facebook составляет http://fb.domain.com/, а URL-адрес приложения http://apps.facebook.com/demoapp/
http://fb.domain.com/
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 или нет. Однако это не говорит, если это iframe FaceBook. При открытии приложения в iframe FaceBook (например, http://apps.facebook.com/demoapp/) FaceBook отправляет параметр signed_request. Если этот параметр действителен, вы можете смело предполагать, что запрос поступил из фрейма FaceBook. Если не перенаправить на правильную страницу приложения с:
if (window!=window.top)
signed_request
<script type="text/javascript"> top.location.href = "http://apps.facebook.com/demoapp/"; </script>