在我的项目中,我正在使用Ace Editor和iframe。 Ace编辑器包含iframe的源代码。
加载网页时,Ace编辑器会加载源代码。我正在使用此代码将iframe的源代码加载到Ace编辑器:
function getCode()
{
var code = "<!DOCTYPE html>" + "\n" + document.getElementById("iframe_id").contentWindow.document.documentElement.outerHTML;
editor.getSession().setValue(code);
}
我必须输出“&lt;!DOCTYPE html&gt;”手动,因为
document.getElementById("iframe_id").contentWindow.document.documentElement.outerHTML
不输出doctype。
当网页加载Ace编辑器时,加载iframe源代码:
<body onLoad="getCode()">
但Ace编辑器中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>
我不知道问题出在哪里。请帮忙。
更新 - 当我右键单击并查看iframe的源代码时,代码与Ace编辑器中显示的相同。