我有一个显示在 iframe 中的页面。
我需要从该页面(子页面)获取带有 js 的 parent.location.url。
两个站点都在不同的域中。
我正在努力:
警报(parent.location.url)
但我收到此错误:
http://parentdomain从http://childdomain获取属性 Location.URL 的权限被拒绝。
???? 是否可以?
我有一个显示在 iframe 中的页面。
我需要从该页面(子页面)获取带有 js 的 parent.location.url。
两个站点都在不同的域中。
我正在努力:
警报(parent.location.url)
但我收到此错误:
http://parentdomain从http://childdomain获取属性 Location.URL 的权限被拒绝。
???? 是否可以?
试试这个:
var referrer = document.referrer;
alert(referrer);
你想要做的事情本身是不可能的。除非您可以控制父页面对子页面的调用。如果这样做,那么您可以在父页面的 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 来提取它。我会提供更多细节,但我什至不确定我的第一个问题。
你有没有试过这样的事情:
alert(window.top.location.href);
仅当父页面和 iframe 在同一个域中时它才有效。如果它们不在同一个域中,您可以尝试通过src传递位置,就像麦迪逊威廉姆斯建议的那样。
这可能就是您收到“权限被拒绝...”的原因
你可以这样找到它,并且所有浏览器都应该能够支持它:
query = window.parent.location.search.substring(1);
你不应该得到权限错误,但我可能是错的。