防止HTML标记的条带化

时间:2016-04-15 13:54:26

标签: javascript jquery html html5 contenteditable

我正在我的应用程序中创建一个HTML编辑器,它从数据库中获取HTML内容并将其复制到内容可编辑的DIV中。但在进行更改后,它会删除<html><head><body>标记,但保留正文内容。

我该如何解决这个问题?

 document.getElementById('editHtmlView').innerHTML = document.getElementById('content').value;

其中#content具有从数据库中提取的内容。

<div id="editHtmlView" contenteditable="true"></div>

1 个答案:

答案 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>设置内容会将标记保留为文本,并且通常也更安全。