gpt4 book ai didi

javascript - 使用 document.write 与逐个节点生成 dom 时的不同 CSS 继承

转载 作者:行者123 更新时间:2023-11-30 11:46:12 25 4
gpt4 key购买 nike

昨天我发布了一个不同的(相关的)问题: CSS height 100% behaves different when embedded in iframe

这个问题的答案让我将文档类型视为正在发生的事情的潜在原因。然而,我现在开始认为更险恶的事情正在发生。

当逐个节点创建 iframe 并使用

设置文档类型时
document.implementation.createDocumentType("html", "", "")

呈现的内容与使用呈现完全相同的内容不同

document.write("<!DOCTYPE html>")

在这里查看 jsfiddle:https://jsfiddle.net/570qvk2p/3/

在我看来,也许以第一种方式创建的文档类型未被其他 DOM/CSS 以同样的方式尊重。

任何关于这里发生的事情以及我如何解决它的想法都将不胜感激。不幸的是,我的 DOM 必须逐个节点构建,从文档类型开始——我无法改变这个事实。

我基本上是在尝试复制以前渲染过的 DOM 树,而出现这种类型的显示错误显然是我想避免的事情。原始 DOM 呈现的效果与使用 document.write 呈现时的外观相同。

最佳答案

<iframe></iframe>创建文档。由于没有doctype,这里 promise 使用quirks模式。向文档添加 documentType 节点不会更改此 promise 。

你的 document.write()代码吹走了旧文档并创建了一个新文档。写作 <!DOCTYPE html>在开始时将新文档置于标准模式。

关于javascript - 使用 document.write 与逐个节点生成 dom 时的不同 CSS 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40908356/

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