Access child iFrame DOM from parent page

2019-01-08 21:06发布

Here is the deal:

domain.com/page -- Parent page (document.domain=domain.com) contains an iframe sub.domain.com/page -- Child iframe (document.domain=not set) is on a subdomain

Is there any way to access the DOM of that iframe or am I out of luck?

Does same origin policy block me from forcing a document.domain on an iframe contained within a parent page? I suppose that would defeat the purpose of the same origin policy... If that is the case, is there any workaround to access the DOM of the iframe on the rendered parent page?

3条回答
对你真心纯属浪费
2楼-- · 2019-01-08 21:22

You're out of luck, as far as I know. You can talk between them using the hash-bang in the URL though, see this for a decent discussion.

查看更多
相关推荐>>
3楼-- · 2019-01-08 21:26

This is a browser security measure, otherwise everybody would be wrapping your banking websites and skimming off your passwords when you logged in.

You can talk from the iframe to the parent, but not back into an iframe again.

查看更多
萌系小妹纸
4楼-- · 2019-01-08 21:37

There is a way. When the page in the iframe loads, have it do the following

parent.childGetElementById = function (id) {return document.getElementById(id);}
parent.childLoaded();

This will make a function in the global scope of the parent page (that contains the iframe). Then in the parent, just have the following

function childLoaded() {var dom = childGetElementById('someid');}

This is along as you have control of the page your loading into the iframe... if you do not, you are out of luck.

查看更多
登录 后发表回答