2014-02-27 20 views
0

因爲某種原因,我有這麼一個div將包含我想要一個iframe來加載代碼:我的iframe持續顯示代碼注入作爲文本字符串,而不是渲染

<div id="MyDiv"> 
<html> 
<head> 
</head> 
<body> 
<h1>Hi</h1> 
</body> 
</html> 
</div> 
<iframe id="MyFrame"></iframe> 

我的Javascript功能來獲得上面的DIV中的文本(代碼):

var DCode = document.getElementById("MyDiv").innerHTML; 

我jQuery來的代碼添加到我的iframe:

$('#MyFrame').contents().find('html').append(DCode); 

當我查看我的iframe中的文檔,我看到div裏面的html,但用雙引號包裹在內部。我怎樣才能讓它顯示爲一個頁面?

使用警告框顯示代碼時,我意識到了一件事:「<」顯示爲轉義字符:& l t;

回答

0

幾件事情要考慮 -

1)內容在MyDiv - <head><body>標籤啓動,但還沒有結束。
2)var「DCode」包含innerHTML,但jquery附加「DString」。變量是不同的。
問這個問題是否是一個錯字?

+0

錯誤地輸入,DString是一個變量,存儲DCode.toString();我意識到這是不必要的。 – Brandon

+0

該示例有錯別字,我的代碼仍然無法正常工作。我的代碼與上述錯誤修正完全相同。 – Brandon

0

我無法重現您的問題。以下代碼適合我 -

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
    function copy() 
    { 
    var DCode = document.getElementById("MyDiv").innerHTML; 
    $('#MyFrame').contents().find('html').append(DCode); 
    } 
</script> 
</head> 

<body onload="copy();"> 
<div id="MyDiv"> 
<html> 
<head></head> 
<body> 
<h1>Hi</h1> 
Div body 
</body> 
</html> 
</div> 

<iframe id="MyFrame"></iframe> 

</body> 
</html> 
+0

使用警告框顯示代碼時,我意識到了一件事:「<」顯示爲轉義字符:< – Brandon

相關問題