2013-02-19 70 views
0

我有一个iframe中的iframe和与此代码我想改变图像的里面的iFrame的iFrame不能做改变

window.top.frames[0].frames[0].document.getElementById("maquina").src = "https://developer.cdn.mozilla.net/media/img/mdn-logo-sm.png"; 

,当我尝试它,它的工作SRC,但我不能看到的变化页面,仅在代码阅读时.src 该元素

回答

0

如果没有访问子DOM的全局方法,则无法在父框架内操作iframe的内容。有适合您需要的答案Here,但我会下面复制以供参考:

在孩子的iframe:

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

在父:

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

假设你确实有访问到孩子页面,我会建议修改你的设计,以避免使用iframe。

[接听评论]

那么它取决于如果你只是使用直HTML,或脚本语言(如PHP)。如果纯HTML,您可以使用服务器端包含与

<!-- #include virtual="path/to/included/file.html" --> 

在PHP中,您可以包括这样

require('/real/path/to/included/file.php'); 

的页面,不要误会我的意思,iFrame中可以在某些特定的有用(避开跨域起源策略,oAuth实现等);他们比正确使用更经常被滥用。

+0

好的,我会尝试,但什么是最好的方法来创建“模块”的HTML没有iframes? – user2088922 2013-02-19 22:29:03