I have seen some elegant solutions on fetching the parents document from iframe - like e.g. this one. However, I can't make it work - and I didn't think this was possible due to securities issues (cross domain scripting?)?
My question is; can I still access the parents document from inside an iframe - or has this changed the recent years? If I should be able to access this; any thoughts on why I get undefined when printing parent.document
or window.parent.document
from the content of the iframe?
It's still possible to access the parent from within a frame provided that the domains match.
For example, have a look at these fiddles:
- Frame host:
fiddle.jshell.net
, parent host: fiddle.net
Does not match = failure
Test #1: http://jsfiddle.net/nrRQg/1/
- Frame host:
jsfiddle.net
, parent host: jsfiddle.net
**Matches = success*
Test #2: http://jsfiddle.net/nrRQg/1/show/
You can access the parent through:
window.parent
parent
top //If the parent is the top-level document
window.top
The variables parent
and top
can be overwritten (usually not intended). It's safer to use window.parent
to be more safe. Alternatively, you can replace window
by document.defaultView
.