Supprimer le contenu et le script chargés en ajax

Je ne sais pas que cela peut être dupliqué mais,

J’utilise ajax sur mon site Web, maintenant en réponse à cet appel, j’envoie du HTML et du script.

Ensuite, je remplace ces données par certains de mes éléments existants dans la page.

Maintenant, je veux faire un deuxième appel ajax, donc j’ai supprimé le contenu HTML de la div chargée. Puis encore un appel ajax retourne un autre code html et un script. Mais parfois, il y a conflit entre le script précédent et le script nouvellement arrivé.

EX. 1ère réponse Je remplace html et le script par un élément: $('.ma_right_main').html(response.data);

puis, avant le 2e appel, je supprime le contenu: $('.ma_right_main').html('');

2ème réponse Je remplace html et le script par un élément: $('.ma_right_main').html(response.data);

mais après le remplacer, le script de deuxième temps est revenu de la première fois toujours en exécution. Je veux le supprimer, tout comme la façon dont je peux supprimer le contenu HTML.

Je ne pense pas qu’une fois qu’un navigateur a chargé un script, il peut être supprimé (cela ne signifie pas que vous ne pouvez pas le supprimer du dom, mais qu’il existe toujours.) Par exemple, si vous aviez un script avec la variable x , chargez la page pour que le script soit chargé, supprimez le script du dom, x je pense que serait toujours défini.

Cependant, il existe des moyens de contourner ce problème, si chaque script chargé de manière dynamic était son propre object, vous pouvez définir l’object comme “déchargement” sur null. C’est une solution que j’ai trouvée il ya quelque temps lorsque je recherchais une solution similaire.

J’ai trouvé la référence à laquelle je faisais référence: https://stackoverflow.com/a/1346903/1475461

Les scripts ne sont pas du tout exécutés naturellement. (Définir .innerHTML n’exécutera pas de scripts dans le code HTML).

jQuery recherche manuellement tous les éléments de script dans le code HTML, les supprime et les évalue. Donc, si vous utilisez .html et que vous ne voulez pas que les scripts soient .html , n’incluez pas de scripts dans le code HTML.

Et vous ne pouvez pas désactiver les scripts, vous devez donc refactoriser votre site Web en tenant compte de cela. N’incluez pas de nouveau code dans les réponses s’ils peuvent entrer en conflit avec les précédents. Utilisez un code générique toujours chargé.