получить URL родительской страницы внутри iframe - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть iframe (iframe.php) внутри моей главной страницы (index.php). Я хочу отобразить URL главной страницы внутри фрейма. Я знаю, как отобразить URL-адрес любой страницы, но не тогда, когда она находится внутри фрейма. Когда я пытаюсь это сделать, он отображает только URL-адрес iframe, а не главной страницы. Звучит просто, но не в состоянии понять это.

ПРИЧИНА : причина, по которой я выбрал php и почему я пытаюсь это сделать, заключается в том, что мне нужно подтвердить URL-адрес, с которого осуществляется доступ к этой странице ... не хочу, чтобы был iframe доступ, если пользователь не находится в index.php и не запрещает пользователю доступ к нему, если он не находится в iframe главной страницы.

Ответы [ 3 ]

8 голосов
/ 04 декабря 2011

Вы можете использовать

$_SERVER["HTTP_REFERER"]

для чтения родителя.

Это работает для меня.

Код JavaScript не может легко общаться с PHP?знак равно

5 голосов
/ 22 февраля 2011

PHP не имеет представления о iframe, он просто служит другой страницей и интерпретируется браузером ...

Вы можете сделать что-то вроде ...

<iframe src="frame.php?from=<?php echo currentPageURL() ?>">

Тогда внутриВ iframe вы можете получить доступ $_GET['from'].Просто убедитесь, что вы проверили, поскольку это было бы небезопасно.

Вот код, который я обычно использую для возврата URL текущей страницы:

function currentPageURL() {
    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
        } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    return $pageURL;
}
1 голос
/ 22 февраля 2011

Попробуйте это в iframe:

<script type="text/javascript">alert(top.location.href);</script>

Я думаю, что это должно работать.: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...