我制作了一个包含 iframe 的页面。
iframe 中的页面必须从包含 iframe 的页面获取当前 url。
有谁知道我必须做什么才能做到这一点?
您可以采用两种方法:Javascript 方法和 PHP 方法。
仅当 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/ ) 进行访问。完成后,您可以使用上面的代码。
有效,但依赖于您控制父页面
或者,如果父页面具有静态 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;?>