执行使用innerHTML插入的脚本
使用innerHTML将脚本插入网页可能是一个挑战,因为脚本可能出现在DOM中,但执行失败。这是由于浏览器在动态添加到页面时处理脚本执行的方式不同。
为了克服这个问题,一种方法涉及递归搜索 DOM 中的脚本元素并将其替换为可执行克隆。以下是递归脚本替换函数的逐步说明:
function nodeScriptReplace(node) {
function nodeScriptClone(node) {
function nodeScriptIs(node) {
用法示例:
执行插入的脚本使用innerHTML,在文档主体(或任何其他所需容器)上调用nodeScriptReplace()函数。
nodeScriptReplace(document.getElementsByTagName("body")[0]);
通过利用这种递归方法,搜索过程中遇到的所有脚本元素都将被替换为可执行克隆,确保使用innerHTML插入时正确执行脚本。
以上是为什么使用innerHTML插入的脚本总是不执行,我该如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!