Exécuter des scripts insérés avec innerHTML
Insérer des scripts dans une page Web à l'aide de innerHTML peut être un défi, car les scripts peuvent apparaître dans le DOM mais échouer à s’exécuter. Cela est dû aux différentes façons dont les navigateurs gèrent l'exécution des scripts lorsqu'ils sont ajoutés dynamiquement à une page.
Pour surmonter ce problème, une méthode consiste à rechercher de manière récursive dans le DOM des éléments de script et à les remplacer par des clones exécutables. Voici une explication étape par étape de la fonction de remplacement de script récursif :
function nodeScriptReplace(node) {
function nodeScriptClone(node) {
function nodeScriptIs(node) {
Exemple d'utilisation :
Pour exécuter des scripts insérés avec innerHTML, appelez la fonction nodeScriptReplace() sur le corps du document (ou tout autre conteneur souhaité).
nodeScriptReplace(document.getElementsByTagName("body")[0]);
En utilisant cette approche récursive, tous les éléments de script rencontrés lors du processus de recherche seront remplacés par des clones exécutables, garantissant ainsi une exécution correcte du script lorsqu'ils sont insérés avec innerHTML. .
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!