开发者

Access child iFrame DOM from parent page

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 ifram开发者_如何转开发e 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?


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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜