Getting iframe current src url in cross domain [du

2019-02-17 11:41发布

问题:

This question already has an answer here:

  • How do I get the current location of an iframe? 9 answers

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.

回答1:

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);
}