在iframe内部获取父页面的URL

时间:2011-02-22 17:48:46

标签: php javascript iframe

我的主页(index.php)中有一个iframe(iframe.php)。我想回显iframe中主页面的URL。我知道如何回显任何页面的URL,但不知道它是否在iframe中。当我尝试这个时,它只回显iframe的URL而不是主页的URL。这听起来很简单,但无法弄清楚。

原因:我选择php的原因以及我为什么要这样做是因为我需要验证从中访问此页面的URL ...不希望iframe发生除非用户在index.php中,否则拒绝用户访问它,如果他不在主页的iframe中。

3 个答案:

答案 0 :(得分:8)

您可以使用

$_SERVER["HTTP_REFERER"]

阅读父母。

它对我有用。

javascript代码无法与PHP轻松交谈 ?from =

答案 1 :(得分:5)

PHP不知道iframe,它只是作为另一个页面服务并由浏览器解释...

你可以做点像......

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

然后在iframe中,您可以访问$_GET['from']。只要确保你验证,因为这将是不安全的。

以下是我通常用于返回当前页面网址的代码:

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;
}

答案 2 :(得分:1)

在iframe中尝试:

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

我认为它应该有效。 : - )