我制作了一个包含iframe的网页。
iframe中的页面必须从包含iframe的页面获取当前网址。
有人知道为了做到这一点我必须做什么吗?
答案 0 :(得分:0)
您可以采用两种方法:Javascript方法和PHP方法。
仅当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/)进行访问。完成后,您可以使用上面的代码。
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;?>