Javascript 复制document.write行为

Javascript 复制document.write行为,javascript,Javascript,在过去的几周里,我试图用自己的实现替换document.write,这样我就可以加载一些异步使用它的第三方js。 我取得了一些进展,但document.write可能非常复杂。 我使用“doImplementation.createHTMLDocument()”创建一个空的html文档来解析初始html,然后将节点附加到真实的dom中,其中一些节点中有使用document.write的脚本标记。 为了首先处理这些调用,我尝试再次解析该html,并将其附加到启动调用的脚本标记之后,但本例不处理部分

在过去的几周里,我试图用自己的实现替换document.write,这样我就可以加载一些异步使用它的第三方js。 我取得了一些进展,但document.write可能非常复杂。 我使用“doImplementation.createHTMLDocument()”创建一个空的html文档来解析初始html,然后将节点附加到真实的dom中,其中一些节点中有使用document.write的脚本标记。 为了首先处理这些调用,我尝试再次解析该html,并将其附加到启动调用的脚本标记之后,但本例不处理部分html,例如:

document.write("<di");document.write("v></div>";
document.write("<scri");document.write("pt src='example.com></script>");
document.body.querySelectorAll("*"); -->
<body>
    <div id="test1">
        <div id="test2">
            <img id="img1">
        </div>
        <img id="img2">
    </div>
</body>>

将始终输出-->test1->test2->img1->img2

我不太理解你的问题,但我可以用document.innerHTML对document.write进行多填充

这是密码

document.innerHTML += text;

@RokoC.Buljan谢谢,修复了itI我不确定何时何地了解谁的流程…DOM节点树根据@RokoC.Buljan可靠我正在尝试加载使用document.write async的脚本,因此我需要替换document.write(如果没有,将清除文档)所以我需要解析HTML并动态插入它,我遇到了上面提到的一些问题,然后你承担了一项艰巨的任务。但是,复制document.write的行为并不是那么容易,因为您总是会遇到很多限制。我也在做这样的事情,已经有超过2.5k行的代码了,尽管我还没有完成。因此,如果你打算继续这条途径,你应该期待更多的工作,特别是如果你打算在它的同时实现任何健全性检查。如果不起作用,尝试使用部分HTML,它只会忽略它
document.innerHTML += text;