我的主页(index.php)中有一个iframe(iframe.php)。我想回显iframe中主页面的URL。我知道如何回显任何页面的URL,但不知道它是否在iframe中。当我尝试这个时,它只回显iframe的URL而不是主页的URL。这听起来很简单,但无法弄清楚。
原因:我选择php的原因以及我为什么要这样做是因为我需要验证从中访问此页面的URL ...不希望iframe发生除非用户在index.php中,否则拒绝用户访问它,如果他不在主页的iframe中。
答案 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>
我认为它应该有效。 : - )