javascript - 获取跨域iframe - 获取parent.location.url-iframe-从子级到父级




获取iframe的window对象 (5)

你尝试过类似的东西:

alert(window.top.location.href);

我有一个在iframe中显示的页面。

我需要从该页面(子页面)获取带有js的parent.location.url。

两个站点都位于不同的域中。

我尝试着:

警报(parent.location.url)

但我得到这个错误:

http:// parentdomain的权限被拒绝从http:// childdomain获取属性Location.URL。

???? 可能吗?


你本来想做的事情本身是不可能的。 除非您可以控制父页面调用子页面。 如果这样做,则可以在父页面的URL中使用get语句调用子页面。 因此,如果您的父页面是http://parentpage.com,那么您应该如何调用iFrame。

<iframe src='http://childpage.com/?parent=http://parentpage.com' />

然后你在子页面中要做的就是获取引用是获取字符串

window.location.search //not sure of browser compatibility with this

并通过从该字符串中抓取来提取父页面的URL。 我会提供更多细节,但我甚至不确定我的第一个问题。


在父页面和iframe位于同一域时才有效。 如果他们不在同一个域上,你可以尝试通过src传递位置,就像麦迪逊威廉姆斯建议的那样。

这可能就是为什么你得到“权限被拒绝......”


尝试这个:

var referrer = document.referrer;
alert(referrer);

您将能够像这样找到它,并且所有浏览器都应该能够支持它:

query = window.parent.location.search.substring(1);

你不应该得到权限错误,但我可能错了。





iframe