Я в IFRAME, как мне понять это в PHP? - PullRequest
0 голосов
/ 25 февраля 2010

Как я могу узнать в своем коде PHP, если я в iframe или нет? Я бы хотел, чтобы страница вела себя немного иначе. Я собирался использовать HTTP_REFERER, но это не очень надежно.

Ответы [ 3 ]

2 голосов
/ 25 февраля 2010

Вы не можете понять это в PHP. PHP работает полностью на стороне сервера, и нет заголовка запроса, указывающего, находится ли запрос внутри IFRAME или нет AFAIK.

Вам потребуется сгенерировать некоторый JavaScript, который узнает, находится ли он внутри фрейма, и отправит информацию обратно через AJAX. Это немного сложно - вам придется генерировать уникальный ключ для каждого запроса и хранить его где-то - но это возможно.

В этот момент, конечно, уже слишком поздно влиять на визуализацию страницы.

1 голос
/ 25 февраля 2010

Если вы сами решаете (или загружаете), будет ли скрипт вызываться из IFRAME или нет, вы можете вызвать его с параметром, т.е. script.php?ff=1 - FromFrame и изменить соответствующим образом.

0 голосов
/ 25 февраля 2010

Насколько отличаются ваши два случая?

Если они совершенно разные, вы всегда можете отправить их клиенту, скрывая их с помощью тегов DIV до завершения загрузки, затем проверяя, есть ли (window.document == документ) и показывая соответствующий.

Если они немного отличаются, возможно, отличаются только стили, вы можете добавить JavaScript для загрузки соответствующего файла CSS.

...