从子iframe获取URL

时间:2010-10-26 21:14:58

标签: javascript url browser

是否100%无法从加载到单独域的iframe的iframe html中获取浏览器URL?我试过javascript但它不起作用。我能用什么语言做?谢谢!

UPDATE 谢谢您的帮助! PHP确实有用。

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

4 个答案:

答案 0 :(得分:2)

如果您要问的是,如果您可以通过Javascript获取通过iframe托管您网页的浏览器的网址,则答案是否定的;你不能在一个正确编写的Web浏览器中这样做。如果iframe可以监视托管它的任何内容,那么就可以完成各种恶意事件。

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

答案 1 :(得分:1)

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

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

JSFiddle

然而,如果将相关文档导航到另一个页面,您肯定无法获得新地址。

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

只需使用此JavaScript检测您的网页是否在框架内或iframe中:

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