views:

70

answers:

2
  • I have a page A containing 2 children iFrames called B and C.
  • A and B are on different domains.
  • On pressing a button in B I would like to change C's URL.

Based on the law III of Michael Mahemoff it should work, but in fact it doesn't (js security error).

Here is the JS code in B:

window.parent.frames['C'].location.href = "http://random.url";
+2  A: 

This does not work because frame B cannot access the frames collection in page A.

I cannot think of any workaround (other than setting document.domain)

SLaks
and you can only adjust `document.domain` within certain constraints.
Pointy
Ok thus, I'll update page A fragment to make it work. Thx !
Cyno
A: 

in case a page & frame are not on the same domain, you'll have to use postmessage, which is part of html5 and works in all modern browsers (including IE8).

if you need support for older browsers (specifally IE6/7), you could use the jQuery postmessage plugin (which transparently falls back to some nice hash-tag trickery for older browsers).

futtta