Variables in the global scope are auto-exposed as DOM properties of their containing window
object.
This means that
var foo = 'bar';
is analogous to
window.foo = 'bar';
Which means that you can read the global scope of any window
object you can obtain a reference to. What we can also imply here is that usage of window
is implicit. Even when you don’t explicitly type “window.”, it’s there anyway.
And since frames themselves are also auto-exposed as DOM properties of the current window
object, this means you can access any other frames’ window
object as well.
The parent
property of window
objects holds a reference the window
object of that window’s parent (if there is one). Since iframes most certainly have a parent window, then all this stuff I just typed boils down to this
// set the global variable 'foo' in the parent global scope
parent.foo = 'bar';