当您在iframe中时获取当前网址

时间:2012-12-07 18:24:03

标签: php

我制作了一个包含iframe的网页。

iframe中的页面必须从包含iframe的页面获取当前网址。

有人知道为了做到这一点我必须做什么吗?

1 个答案:

答案 0 :(得分:0)

您可以采用两种方法:Javascript方法和PHP方法。

JAVASCRIPT

仅当iframe与父页面位于同一域中或您设置了允许子域访问父域的XXS规则时才有效

假设您已满足上述条件,则可以通过抓取父窗口的location.href属性,使用Javascript访问父页面网址:

alert('The parent window url is: '+window.top.location.href);

您也可以使用window.parent.location.href

如果iframe是与父级不同的域,那么由于跨域脚本编写规则,这将无效,除非您已覆盖它们。如果您控制这两个域,则可以为父域创建跨域脚本规则,以明确允许从iframe的域(http://www.w3.org/TR/access-control/)进行访问。完成后,您可以使用上面的代码。

PHP方法

Works,但依赖于您控制父页

或者,如果父网页包含静态网址,您只需将其作为_GET变量传递给iframe:

<强>父

<iframe src="/iframe/url.php?parent_src=<?php echo urlencode($_SERVER['REQUEST_URI']);?>"></iframe>

儿童

<?php $parent_url = urldecode($_GET['parent_src']); ?>

现在,您可以使用$parent_url变量中的父网址

<? echo "The parent's URL is: http://thedomain.com".$parent_url;?>