什么是 HTML5 规范中的解析器插入脚本

What is Parser Inserted Script in HTML5 specs

本文关键字:插入 脚本 HTML5 范中 什么      更新时间:2023-09-26

HTML5规范提到了解析器插入的脚本,并将其定义为"第二个是一个标志,指示元素是否是"解析器插入的"。最初,脚本元素必须未设置此标志。它由 HTML 解析器和 XML 解析器在它们插入的脚本元素上设置,并影响这些元素的处理"http://dev.w3.org/html5/spec-LC/scripting-1.html有人可以用一个例子来解释它,哪个是解析器插入的脚本,哪个不是?

来自 React-DOM:通过 .innerHTML 创建脚本,使其"解析器插入"标志设置为 true 并且不执行。例:

<script>
var s = document.createElement('script');
s.innerHTML = 'alert("hi")';
document.body.appendChild(s);
</script>

脚本不会执行。

我所知,用源HTML编写或通过document.write()注入到文档中的脚本被认为是"解析器插入的"。