Getting iframe current src url in cross domain

Fallouturama picture Fallouturama · Jan 7, 2012 · Viewed 13.3k times · Source

I have an iframe in my web app and I need to get its current url from the parent document (also when the user navigates the frame and change the original source url).

Url is needed simply to social share it.

As a cross-domain scenario, I don't own the child document (its a remote domain).

I am aware of the same-origin-policy that prevents cross domain access from parent document to child one, but I'm looking for a solution by any creative mean possible - there has to be a way around.

Answer

David Bradshaw picture David Bradshaw · Apr 16, 2016

If you don't control the iFrame content, then the only solution is to create a proxy that injects the following line of code into every page.

window.postMessage(window.location,'*');

Then on the parent page you can listen for the message.

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event) {
  console.log(event.data);
}