我正在使用Ajax加载HTML,在使用DOMParser解析后,将文档主体的所有childNodes放入文档片段中。 当我将此片段添加到当前文档的主体中时,<script>标签不会被执行。 经过一番尝试,我发现:如果我用新创建的动态
这在 DOM 解析和序列化 规范中有解释: parseFromString parseFromString(str,type) 方法必须根据类型执行以下步骤: "text/html" 使用 HTML 解析器 解析 str,并返回新创建的 文档。 脚本标志必须设置为“禁用”。 注意 脚本元素将被标记为不可执行,并且无脚本内容会被解析为标记。
DOMParser
对象动态创建的脚本不像使用document.createElement
创建的那样被执行。 - plalxsrc
,然后读取frame.contentDocument.body.innerHTML
——但它只在有限的情况下有效(CORS)。https://stackoverflow.com/questions/8340324/loading-an-iframe-without-injecting-it-into-the-dom - undefined