gpt4 book ai didi

javascript - 你能阻止innerHTML删除HTML、HEAD、BODY元素吗?

转载 作者:行者123 更新时间:2023-12-02 16:29:42 25 4
gpt4 key购买 nike

我正在尝试在应用程序中实现所见即所得,它们都使用 contentEditable 这很酷,直到我将整个 html 文档放入文本框中。每个所见即所得都使用 html()innerHTML 来移动内容以及这些 strip 、 和 标签...

html = "<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Title</title>
</head>
<body>
<span>Hey There</span>
</body>
</html>
"

editable.innerHTML = html
editable.innerHTML
// => "
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Title</title>
<span>Hey There</span>
"

同样的事情也发生在 $(editable).html() 上。我找不到与此相关的规范。

做什么?

最佳答案

一个 HTML 文档只能有一个 html , bodyhead元素,并且您的主页已经有了这些。它正在将其剥离,因为您试图将它们插入到不允许的位置。

您要么必须将它们完全删除,然后在编辑元素内容后将它们添加回来,要么将整个所见即所得编辑器放入 iframe 中。元素,以便您可以使用整个 iframe 文档而不是单个元素。

它已记录在案,但您需要知道自己在寻找什么。请参阅 <body> MDN 上的文档:

Permitted parent elements: It must be the second element of an element.

以及 <html> 的文档:

Permitted parent elements: As the root element of a document, or wherever a subdocument fragment is allowed in a compound document.

关于javascript - 你能阻止innerHTML删除HTML、HEAD、BODY元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com