从两个级别的深度iframe获取浏览器URL

时间:2016-01-19 12:55:15

标签: javascript html url iframe

其他iframe中有iframe。我想从第二个iframe获取浏览器的网址(例如:http://test

//browser URL: http://test <-- I need this URL

<iframe src="http://level1">
    <iframe src="http://level2">
        <!-- some content -->
    </iframe>
</iframe>

我尝试document.referrer,但它会返回第一个iframe的网址:

<iframe src="http://level1">
    <iframe src="http://level2">
        console.log(document.referrer); //It gives back http://level1
    </iframe>
</iframe>

更新

top.location.href不起作用,因为有不同的域。不同的浏览器,第一个和第二个iframe域。 (我们的网站 - 广告服务器 - 第三方网站)

1 个答案:

答案 0 :(得分:2)

如上所述,跨域iframe通常无法实现,但对于Chrome,您可以使用window.location.ancestorOrigins来为您提供“顶级网址”以及所有域名列表无论是否是跨域的,都有几个iframe。