0
在我的項目中,我使用了Ace Editor和一個iframe。 Ace編輯器包含來自iframe的源代碼。在Ace編輯器中輸出iframe源代碼中不需要的空間
當網頁加載時,源代碼在Ace Editor中加載。我使用此代碼加載從iframe中的王牌編輯器的源代碼:
function getCode()
{
var code = "<!DOCTYPE html>" + "\n" + document.getElementById("iframe_id").contentWindow.document.documentElement.outerHTML;
editor.getSession().setValue(code);
}
我要輸出「< DOCTYPE HTML >!」手動因爲
document.getElementById("iframe_id").contentWindow.document.documentElement.outerHTML
不輸出DOCTYPE 。
加載網頁時,王牌編輯器加載的iframe代碼:
<body onLoad="getCode()">
但在王牌編輯iframe的源代碼如下所示:
<!DOCTYPE html>
<html><head>
<title>Learning HTML</title>
</head>
<body>
<h1>Welcome</h1>
<p>This is your first webpage.</p>
</body></html>
但我想要的代碼要這樣正確排列:
<!DOCTYPE html>
<html>
<head>
<title>Learning HTML</title>
</head>
<body>
<h1>Welcome</h1>
<p>This is your first webpage.</p>
</body>
</html>
我不知道問題出在哪裏。請幫忙。
UPDATE: - 當我右鍵單擊並查看iframe的來源時,代碼與Ace編輯器中顯示的代碼相同。
你爲什麼使用iframe來獲取代碼? outerHTML不保證與頁面中的html相同。另外請注意,這個問題與ace沒有任何關係,並且在純文本文件中也會出現這種情況。 – 2014-09-05 10:03:23
是的。但正如我已經使用王牌,所以我已經提到它。實際上,該項目是一個HTML編輯器,iframe用作實時查看器。 – hmc 2014-09-05 10:07:45