11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

*Voici mon code:


function popup(chemin,nom,wparent) 
			{ 
			 alert('tabarnac');
			 i1 = new Image; 
			 i1.src = chemin; 
			 html = "<HEAD><TITLE>"+nom+"</TITLE></HEAD><BODY style=overflow:hidden LEFTMARGIN=2 MARGINWIDTH=2 TOPMARGIN=2 MARGINHEIGHT=2><CENTER><IMG SRC="+chemin+"BORDER=0 NAME=imageTest onLoad='window.resizeTo(document.imageTest.width+18,document.imageTest.height+50)'></CENTER></BODY>"; 
			 popupImage = window.open('','fenetre','toolbar=0,statut=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=0'); 
			 popupImage.document.open(''); 
			 popupImage.document.write(html); 
			 popupImage.document.close();
			 if (window.focus) {
                	popupImage.focus();
             	} 
				if (!popupImage.opener) {
                    popupImage.opener =  self;
				}
				popupImage.opener.parent.name = wparent;
			 };


*Aucun problème avec les navigateur suivant:

IE 6.0, Firefox 1.0, Safari

* Problème avec Firefox 1.5:

Au lieu de me faire la popup avec le code inscrit dans le document.write:

 html = "<HEAD><TITLE>"+nom+"</TITLE></HEAD><BODY style=overflow:hidden LEFTMARGIN=2 MARGINWIDTH=2 TOPMARGIN=2 MARGINHEIGHT=2><CENTER><IMG SRC="+chemin+"BORDER=0 NAME=imageTest onLoad='window.resizeTo(document.imageTest.width+18,document.imageTest.height+50)'></CENTER></BODY>";  
.....
popupImage.document.write(html);


il me sort une page blanche avec le code écrit en toutes lettres:



a écrit :
<HEAD><TITLE>popup</TITLE></HEAD><BODY style=overflow:hidden LEFTMARGIN=2 MARGINWIDTH=2 TOPMARGIN=2 MARGINHEIGHT=2><CENTER><IMG SRC=images/76.jpgBORDER=0 NAME=imageTest onLoad='window.resizeTo(document.imageTest.width+18,document.imageTest.height+50)'></CENTER></BODY>


Pouvez vous m'aider SVP, merci beaucoup, à bientôt Smiley smile

Modifié par farald (21 Apr 2006 - 18:07)
Hello,

A main levée, je dirais qu'il y a des erreurs dans la variable 'html'.
Je te propose ceci :

var html;
 html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
 html = html + '<HEAD><TITLE>' + nom + '</TITLE>'; 
 html = html + '<STYLE TYPE="text/css">';
 html = html + 'body \{ overflow: hidden\; margin: 2em;\}';
 html = html + 'img \{ border: 0; \}';
 html = html + '</STYLE><SCRIPT LANGUAGE="javascript1.1" TYPE="text/javascript">
 html = html + 'function _onload\(\) \{';
 html = html + 'window.resizeTo(document.imageTest.width + 18, document.imageTest.height + 50)\;\}';
 html = html + '</SCRIPT></HEAD>';
 html = html + '<BODY><P><CENTER><IMG SRC="' + chemin + '" NAME="imagetest"></CENTER></P>';
 html = html + '<SCRIPT LANGUAGE="javascript1.1" TYPE="text/javascript">_onload();</SCRIPT></BODY>';


... Vérifie avant emplois ... Mais cela me parait plus 'correct'.

En espérant t'avoir aidé.

G.
Je veux bien proscrire document.write mais comment puis je l'éviter ?
Sinon merci je vais regarder ton code Groumphy.
Modifié par farald (21 Apr 2006 - 21:39)
farald a écrit :
comment puis je l'éviter ?


crée ta page d'affichage d'images, avec la structure xhtml;

sur window.onload() de cette page, intègre l'élément img;