Insérer des scripts dans une page à l'aide de innerHTML dans un fichier
Le code HTML fourni dans l'exemple de code illustre la tentative d'exécution d'un script dans un fichier
Pour résoudre ce problème, nous présentons une méthode qui remplace de manière récursive tous les scripts non exécutables par des scripts exécutables. Cette méthode, connue sous le nom de nodeScriptReplace, parcourt l'arborescence DOM et identifie les éléments de script. Si un script non exécutable est rencontré, il clone le script, lui attribue un contenu exécutable et remplace l'élément de script d'origine, permettant ainsi son exécution.
De plus, la fonction nodeScriptClone crée un élément de script exécutable en extrayant le innerHTML du script non exécutable et la définition de ses attributs. Ces attributs sont transférés au nouveau script exécutable, garantissant un comportement correct.
La fonction nodeScriptIs vérifie si un nœud donné est un élément de script en examinant son nom de balise.
Pour exécuter le script et l'afficher l'alerte "salut", appelez simplement nodeScriptReplace sur l'élément racine de la page. L'extrait de code ci-dessous le démontre :
nodeScriptReplace(document.getElementsByTagName("body")[0]);
Cette méthode fournit un mécanisme robuste pour exécuter des scripts ajoutés à une page à l'aide de innerHTML, garantissant ainsi leur fonctionnalité prévue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!