Bonsoir les développeurs,
Je fais appel à votre savoir pour me venir en aide
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <script type="text/javascript" src="http://forms.aweber.com/form/xx/xxxxxxxxxx.js"></script>
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 :
J'ai donc créé la fonction housingRequest() qui s'y rapporte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var link = '<li><a href="#" onclick="housingRequest();">>> Fill out an Housing Request</a></li>';
Et dans mon HTML, la balise <script></script> pourvue d'un id pour que mon JavaScript puisse y accéder :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Le problème qui se pose est le suivant : lorsque je clique sur le lien hypertexte la lightbox apparaît sur mon bel écran
Code : Sélectionner tout - Visualiser dans une fenêtre à part <script id="aweber" type="text/javascript"></script>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.
Partager