使用innerHTML将脚本插入到
示例代码中提供的 HTML 演示了在
为了解决这个问题,我们提出了一种方法,以递归方式将所有不可执行的脚本替换为可执行脚本。该方法称为 nodeScriptReplace,遍历 DOM 树并识别脚本元素。如果遇到不可执行的脚本,它会克隆该脚本,为其分配可执行内容,并替换原始脚本元素,使其能够执行。
此外,nodeScriptClone 函数通过提取来创建可执行脚本元素不可执行脚本的innerHTML 并设置其属性。这些属性将转移到新的可执行脚本,确保正确的行为。
nodeScriptIs 函数通过检查给定节点的标签名称来检查其是否为脚本元素。
执行脚本并显示“hi”警报,只需在页面的根元素上调用 nodeScriptReplace 即可。下面的代码片段演示了这一点:
nodeScriptReplace(document.getElementsByTagName("body")[0]);
此方法提供了一种强大的机制,用于执行使用innerHTML 添加到页面的脚本,确保其预期功能。
以上是为什么通过innerHTML添加的脚本总是不执行,我该如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!