11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'utilise depuis longtemps un petit script qui m'ouvre une pop up avec une image et qui fonctionnait parfaitement avec Ie et Firefox.

Il fonctionne toujours avec firefox 4 et antérieur et Internet explorer jusqu'à la version 8 mais refuse absolument (écran blan) avec Internet explorer 9 (sur un poste avec windows 7 64 bits)

Voici le script pleinpot.js

<!--  
function pleinpot(img, titre, auteur) {  
  
  aFenetre = window.open('','Image','width=600,height=600,toolbar=no,scrollbars=no,resizable=no'); 
  aFenetre.document.write("<html><head><title>"+titre+"</title></head>");  
  aFenetre.document.write("<script type=\"text/javascript\">function pleinpotajuste() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+30,document.images[0].height+75); window.focus();} else { setTimeout('twAjustePopUp()',1000) } }</"+"script>"); 
  aFenetre.document.write("<body onload='pleinpotajuste()' onblur='window.close()' onclick='window.close()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0>");  
  aFenetre.document.write("<table width='100%' bgcolor='#808080' border='0' cellspacing='0' cellpadding='0' height='100%'><tr><td valign='middle' align='center'>");  
  aFenetre.document.write("<img src='"+img+"' border='0' alt='"+titre+"' title='"+auteur+"'>"); 
  aFenetre.document.write("</td></tr></table></body></html>");  
  aFenetre.document.close();  
}  
-->  


Et l'appel avec l' image à agrandir

<a href="javascript:pleinpot('image.jpg,'titre','auteur)"><img src="image.jpg"></a> 


C'est simple, efficace, ça redimensionne la fenêtre, la positionne au centre , se ferme au premier clic et marche aussi avec des liens dans une image mappée, bref une petite merveille... jusqu'à ce qu'il ne fonctionne plus! Smiley fache

Ci dessous un exemple

http://www.lapanse.com/2011_02_todays-picture-une-envie-de-matin-du-monde-sur-la-route-de-trinidad/



ou encore un autre :

http://www.lapanse.com/pages/photos/album_photo_de_tom/todays_pictures/photos_2009.html

Le commentaire d'erreur de script d'internet explorer 9 m'annonce "nom symbolique non valide" en ligne 3 ou 5 ou 7 comme si le deuxième emploi de la variable aFenetre ne lui plaisait pas...

Le débogage d'internet explorer donne comme erreur
"SCRIPT1733: Nom symbolique non valide."

Ici la copie d'écran complète du débogage :

http://www.lapanse.com/pages/archive_blog/11/copie_ecran_01.jpg

J'avoue que je cale d'autant qu'un premier diagnostic me donne des retours très embarrassants, le script semblant fonctionner sur certaines configs d'Ie9 et parfois pas sans que j'ai pu déterminer ce qui les différenciait.

L'antivirus n'est pas non plus en cause, même comportement avec et sans.

Si un spécialiste javascript pouvait me donner son sentiment sur la validité du code, cela m'arrangerait beaucoup car il se retrouve dans de nombreuses pages de mon site et je suis par avance découragé à l'idée de reprendre toutes ces pages. Je préfèrerais de très loin avoir à seulement modifier mon script pleinpot.js... Smiley confus


Merci par avance
Modifié par oncletom (05 May 2011 - 07:59)
Bon, devant le manque d'enthousiasme, je ferme le sujet et je passe à Lytebox.
La mort dans l'âme car tous les codes que j'ai pu tester sont bien moins rapides que ne l'était mon petit javascript.
Pas valide peut-être au regard des normes jusqu'à Ie9, mais 10 lignes et même pas besoin de toucher à son css... évidemment cela faisait un peu désordre. La honte du codeur plongé dans les profondeurs insondables du W3C.

Merci