-1

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

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

有谁知道我必须做什么才能做到这一点?

4

1 回答 1

0

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

JAVASCRIPT

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

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

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

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

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

PHP 方法

有效,但依赖于您控制父页面

或者,如果父页面具有静态 URL,您可以将其作为_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变量中的父 URL:

<? echo "The parent's URL is: http://thedomain.com".$parent_url;?>
于 2012-12-07T18:34:53.313 回答