get parent.location.url - iframe - from child to p

2020-01-27 03:42发布

问题:

I got a page that is displayed within an iframe.

I need to get the parent.location.url with js from that page (child page).

Both sites are in different domains.

I'm trying:

alert(parent.location.url)

But I get this error:

Permission denied for http://parentdomain to get property Location.URL from http://childdomain.

???? Is it possible?

回答1:

try this:

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


回答2:

What you're trying to do isn't possible per se. Unless you have control over the parent page's calling of the child page. If you do, then you can call the child page with a get statement in the URL of the parent page. So if you parent page is http://parentpage.com then here's how you should call the iFrame.

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

Then all you have to do in the child page to get the reference is get the string with

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

and extract the parent page's URL by grabbing it out of that string. I'd give more details, but I'm not even sure about the first question I had.



回答3:

Have you tried something like:

alert(window.top.location.href);


回答4:

It will only work if the parent page and the iframe are on the same domain. If they are not on the same domain you can try passing the location through the src, like Madison Williams suggested.

That is probably why you are getting "Permission denied..."



回答5:

You'll be able to find it like this, and all browsers should be able to support it:

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

You shouldn't get permission errors with this, but I may be wrong.



回答6:

Try:

var pathname = window.parent.location.href


回答7:

Use postMessage to pass data back and forth between the windows. It's a little klunky, but required when having windows communicate across origins.