Bonjour,
Décidément j'ai du mal à saisir certains comportements de JavaScript, peut-être pourrez-vous m'aider! J'en suis à mes débuts en JavaScript donc essayez d'être simple, je vous en serai très reconnaissant.
J'ai une page HTML avec un lien, en cliquant sur ce lien une nouvelle fenêtre s'ouvre et m'affiche un texte, une image et un lien pour fermer la fenêtre.
HTML
07.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <html> <head> <title> 07 Pop-up </title> <script language="JavaScript" type="text/JavaScript" src="07.js" /> </head> <body> <a href='#'>Image</a> </body> </html>
Le problème : lorsque je clique sur le lien dans la page HTML, je vois apparaître brièvement la fenêtre puis elle se ferme toute seule. Pourtant je dis bien que j'apelle desc.close() lorsqu'il y a un événement onclick d'où l'incompréhension du comportement!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 window.onload = initNewWindow; function initNewWindow() { document.links[0].onclick = newWindow; } function newWindow() { var desc = window.open("", "desc", "width=350, height=350"); var doc = desc.document; doc.title="Image"; doc.body.innerHTML = "<center><h3>Image de la bannière</h3> <img src='https://www.sematix-computers.com/images/1-308.jpg'> <h3><a href='http://' id='close'>Fermer</a></h3></center>"; doc.getElementById("close").onclick = desc.close(); }
J'ai ensuite essayé autre chose : à l'événement onclick je lance une fonction qui a pour but de fermer la fenêtre.
07.js modifié
La fenêtre s'ouvre et reste, mais lorsque je clique sur le lien Fermer elle ne se ferme pas mais charge la cible du lien. Là non plus je ne comprends pas ce comportement.
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
18 window.onload = initNewWindow; function initNewWindow() { document.links[0].onclick = newWindow; } function newWindow() { var desc = window.open("", "desc", "width=350, height=350"); var doc = desc.document; doc.title="Image"; doc.body.innerHTML = "<center><h3>Image de la bannière</h3> <img src='https://www.sematix-computers.com/images/1-308.jpg'> <h3><a href='http://' id='close'>Fermer</a></h3></center>"; doc.getElementById("close").onclick = winClose; } function winClose() { desc.close(); return false; }
Merci pour vos infos et soyez indulgents : ces scripts ne sont écrits que dans un but éducatif...
Bon week-end,
webrider
Partager