zozo
zozo

Reputation: 8582

About iframes and event listeners

Consider a page that contains an iframe. The iframe source is on another domain.

I'd be interested in 2 things:

  1. Can I create an event listener inside the iframe that listens to events that take place in the parent window (and runs a function in the iframe)?

  2. Can I create an event listener inside the parent window that listens to events that take place in the iframe (and runs a function in the parent window)?

Upvotes: 5

Views: 8046

Answers (2)

T.W.R. Cole
T.W.R. Cole

Reputation: 4156

Yes. But it might be more work than you're interested in. You'll need to create a proxy for that page that lives on the same domain as the parent page. Your proxy could be a simple pass-through, but it could very well break the page; some URL-rewriting might be required in order to not break scripts that run on that page that assume things about the context it's being evaluated in, so on that front "it depends."

But your question is "Can you ...?" and the answer is "Yes."

Upvotes: 1

jaap3
jaap3

Reputation: 2836

That's a no on both accounts, cross-domain scripting security measures disallow any cross domain communication.

You might want to take a look at this indepth article about Cross-Domain Communication with IFrames. It talks about what you can and can't do, and provides some alternatives like window.postMessage

Upvotes: 3

Related Questions