Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting parents document from iFrame

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?

like image 436
stiank81 Avatar asked Nov 09 '11 14:11

stiank81


1 Answers

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.

like image 135
Rob W Avatar answered Oct 22 '22 04:10

Rob W