Javascript 从子iframe获取URL

Javascript 从子iframe获取URL,javascript,url,browser,Javascript,Url,Browser,从加载到单独域的iframe的iframe html获取浏览器URL是否100%不可能?我尝试了javascript,但没有成功。我可以用什么语言做这个?谢谢 更新 谢谢你的帮助!PHP确实有效 <?php if(isset($_SERVER['HTTP_REFERER'])) { echo $_SERVER['HTTP_REFERER']; }?> 您可以获取iframe设置为的初始src属性 alert(document.getElementById("ifram

从加载到单独域的iframe的iframe html获取浏览器URL是否100%不可能?我尝试了javascript,但没有成功。我可以用什么语言做这个?谢谢

更新 谢谢你的帮助!PHP确实有效

<?php 
if(isset($_SERVER['HTTP_REFERER'])) 
{
    echo $_SERVER['HTTP_REFERER'];
}?>

您可以获取iframe设置为的初始
src
属性

 alert(document.getElementById("iframeID").src);


但是,如果将内联文档导航到另一个页面,您肯定无法获得新地址。

如果您要问的是是否可以通过Javascript在
iframe
中获取承载您页面的浏览器的URL,则答案是否;在编写正确的web浏览器中无法执行此操作。如果一个
iframe
可以监视任何托管它的东西,那么各种各样的恶意行为都可能发生


您可以通过服务器端代码查看托管页面请求中的referrer HTTP头。这应该设置为嵌入页面的页面的URL。

一旦用户在该iframe中导航,而该iframe与主文档位于不同的域中,您就无法访问该iframe中有关该新文档的任何信息。这是为了防止XSS攻击,无法“解决”

只需使用此JavaScript检测页面是否位于框架或iframe中:

<script>
    if(top.frames.length > 0)
    {
       // do something like this to kill the iframe
       top.location = "http://mysite.com";
    }
</script>

如果(top.frames.length>0)
{
//做些这样的事情来杀死iframe
top.location=”http://mysite.com";
}

这将获取当前URL(如果用户在框架内导航)还是初始/默认URL?如果您不知道框架id,因为您无法控制将站点加载到iframe中的主机页,该怎么办?谢谢@Christian补充道,第一个问题是澄清@Angelfilm不,您根本无法从iframe中控制主机页。主机URL可能出现在
HTTP\u REFERER
请求头中,但您需要服务器端脚本来解析它。谢谢-我不想杀死我所在的框架,只想知道它是什么,这样我们就可以跟踪它并处理我们内容的安全性。谢谢你的回复。