2012-02-18 25 views
5

Bir iframe içindeki bir div içeriğini almaya çalışıyorum, iframe'i silin ve sadece div'u görüntüleyin. Bunun neden işe yaramayacağını anlayamıyorum - contentWindow veya contentDocument kullanıp kullanmadığından emin değilim .. Herhangi bir işaretçi? Teşekkürler! id "embedded_article" ile iframeiframe içinde bir div nasıl seçilir?

<script type="text/javascript"> 

function getContentFromIframe() 

{  
var parent = document.getElementById('iframe'); 
var child = document.getElementById('embedded_article'); 

var oldContent = child.contentWindow.document.innerHTML; 

var newContent = child.contentWindow.document.getElementById('ec-article').innerHTML; 

    document.getElementById('iframe').removeChild(document.getElementById('embedded_article')); 


parent.innerHTML = newContent;  

} 
</script> 
+0

Bu, genellikle güvenli olmadığı için tarayıcılar tarafından kullanılamaz. – tekknolagi

+0

@tekknolagi Yapmaya çalıştığı şey, çerçeveler aynı etki alanını paylaştığı sürece izin verilir. Bunu yapmak için doğru yol bu değil. document.getElementById ('iframe') 'dış pencerede bir' iframe 'öğesini döndürür, çerçevenin içinde 'document' veya' window' nesnesini döndürmez; –

+1

ah, tamam. Açıklama için teşekkürler, @GGG – tekknolagi

cevap

2

Sizin örnek:

:

document.getElementById('iframe').removeChild(document.getElementById('embedded_article')); 

gibi bir şey olmalı

var element = frames['iframe'].document.getElementById('embedded_article'); 

element.parentNode.removeChild(element); 

window.frames['yourFrameId'] için çerçevesi ile ilişkili window nesneye değerlendirir. document.getElementById'u kullandığınızda, ana pencerenizdeki document çerçevesine aitürününü, document değil, ana pencerenizde kullanmak istiyorsunuz. Gerisi kendini açıklayıcı olmalı.

2

bir iFrame içine div almak için o bu

 var div = document.getElementById("YourIFrameID").contentWindow.document.body.getElementById("YOUR_DIV_ID") 
gibi bir şey deneyebilirsiniz içinde

ben, id "iframe" ile bir div

+0

bu işe yaramıyor, sadece ilk document.getElementById (...) boş olduğunu söylüyor –

İlgili konular