我正在我的应用程序中创建一个HTML编辑器,它从数据库中获取HTML内容并将其复制到内容可编辑的DIV中。但在进行更改后,它会删除<html>
,<head>
和<body>
标记,但保留正文内容。
我该如何解决这个问题?
document.getElementById('editHtmlView').innerHTML = document.getElementById('content').value;
其中#content具有从数据库中提取的内容。
<div id="editHtmlView" contenteditable="true"></div>
答案 0 :(得分:1)
如果您希望代码显示为文字,请尝试将<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<textarea id="ta_1" rows="5" cols="28" ></textarea>
</body>
</html>
更改为.innerHTML
.textContent
尝试更改div中的实际HTML,这会导致浏览器拒绝无意义的标记(例如div中的.innerHTML
标记)。通过<html>
设置内容会将标记保留为文本,并且通常也更安全。