2013-02-19 46 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