Ajout/Suppression de la balise <script></script> ?
Bonsoir les développeurs,
Je fais appel à votre savoir pour me venir en aide :ccool:
Je travaille avec Aweber, un service marketing de solutions emails. J'ai créé un webform dans mon interface Aweber et le script permettant de l'insérer sur ma page est le suivant :
Code:
1 2
|
<script type="text/javascript" src="http://forms.aweber.com/form/xx/xxxxxxxxxx.js"></script> |
Dans Aweber, j'ai paramétré la configuration du webform de manière à ce qu'il apparaisse sous la forme d'une lightbox au chargement de la page.
Cependant, je désire modifier ce comportement et ne faire apparaître la lightbox qu'après clic sur un lien. Ce lien, le voici :
Code:
1 2
|
var link = '<li><a href="#" onclick="housingRequest();">>> Fill out an Housing Request</a></li>'; |
J'ai donc créé la fonction housingRequest() qui s'y rapporte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
function housingRequest(){
if(window.XMLHttpRequest)
xhr = new XMLHttpRequest();
else
xhr = new ActiveXObject("Microsoft.XMLHTTP");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200 || xhr.status == 0) {
document.getElementById("aweber").src = 'http://forms.aweber.com/form/xx/xxxxxxxxxx.js';
}
}
};
xhr.open("GET", "./apartments/", true);
xhr.send(null);
} |
Et dans mon HTML, la balise <script></script> pourvue d'un id pour que mon JavaScript puisse y accéder :
Code:
<script id="aweber" type="text/javascript"></script>
Le problème qui se pose est le suivant : lorsque je clique sur le lien hypertexte la lightbox apparaît sur mon bel écran :) Je ferme alors la lightbox. Mais lorsque je clic à nouveau sur le lien hypertexte, plus rien ne se passe.
Je pense pouvoir comprendre qu'une fois que le script est chargé en mémoire, cliquer sur le lien n'a plus aucun effet puisque le script est chargé. Je suis à la recherche d'un moyen qui me permettrait d'afficher la lightbox Aweber à chaque fois que je cliquerais sur le lien hypertexte. Comment faire ? Est-il possible de "supprimer" la balise script une fois que la lightbox s'est affichée, de manière à ce qu'elle soit "recréée" au prochain clic ?
Merci d'avance et bonne soirée :)
EDIT : D'après mes recherches, supprimer un noeud avec removeChild() ne résoudra pas le problème. Le noeud ne sera pas supprimé en mémoire, uniquement sur le flux de la page.