Pour ouvrir des images en pop-up en cliquant sur les vignettes correspondantes, j’utilise le code suivant :
Dans HEAD
<script language="JavaScript">
var fois=0
function ImagePopup(ImageSmall,ImageLarge,ImageText)
{
document.write('<a href="javascript:ImageLargeView(\''+ImageLarge+'\',\''+ImageText+'\')"><img src="'+ImageSmall+'" hspace=0 vspace=0 border=0 alt="Clic pour afficher la photo">[/url]');
}
function ImageLargeView(ImagePath,texte)
{
newImage = new Image;
newImage.src = ImagePath;
html = '<html><head><title>Le site</title><meta http-equiv="Pragma" content="no-cache"></head><body leftmargin=0 marginwidth=0 topmargin=20 marginheigth=0 oncontextmenu="return false"><center>'+'<a href="#" onClick="window.close()"><img src="'+ImagePath+'" border=0 name=Image alt="'+texte+'"border="0" onLoad="window.resizeTo(document.Image.width+50,document.Image.height+85); window.moveTo((screen.width-document.Image.width)/2,5)">[/url]</center></body></html>';
if (fois == 1 ) ImageOpen.close();
ImageOpen = window.open('','_blank','toolbar=0,location=0,menuBar=0,scrollbars=0,resizable=0');
ImageOpen.document.write(html);
fois=1;
}
</script>
Dans BODY
<td width="196"><div align="center"><script language=JavaScript>ImagePopup("images/vignette_01.jpg","image_001.jpg","Clic pour fermer la photo");</script></div></td>
Chaque image est affichée avec une marge blanche de chaque côté ; comment faire pour changer de couleur ? J’ai essayé un “background=” mais ça ne fonctionne pas.
J’ai noté aussi qu’il y avait un petit problème d’affichage dans Firefox ; une sorte de “barre des tâches” où est affiché le lien est présent et la fenêtre est redimensionnable. Et aussi, ça se produit depuis que je suis passé à la version 1.0.
Une solution, une modification à faire dans le code ?
Ta marge vient certainement du fait qu’il s’agit d’un code html avec topmargin=20. Si tu veux corriger ça => CSS.
Pour le reste, c’est normal que ff laisse certaines options de base des popups : ça évite aux webmasters de faire joujou avec le navigateur de l’utilisateur.
Bon, j’ai fini par trouver ; j’ai rajouté l’entrée suivante dans le body :
bgcolor=“couleur”
C’était bien dans le topmargin.
Par contre, c’est tout de même embêtant ce que tu dis, à propos de Firefox. Jusqu’à la version 0.9, ce problème n’existait pas. C’est chiant parce que non seulement les utilisateurs d’IE verront une marge plus importante dans la partie inférieure, mais en plus, dans Firefox, l’image est redimensionnable.
Bon, je suis relativement novice ; alors, que veux-tu dire à propos des webmasters, et de leur façon de faire joujou avec les navigateurs ?
Que l’utilisateur a tout pouvoir sur son navigateur, et que toi, tu n’as que des droits mineurs (ouvrir, fermer, et c’est tout). Tu n’as pas à imposer le non redimensionnement.
Comme j’ai également l’intention de mettre une bordure, j’ai paramétré la valeur à 3. Seulement, par défaut, j’ai la couleur #0000EE (du bleu) et je voudrais du noir. Enfin, j’ai cette couleur avec FF et du violet avec IE !
J’ai rajouté bordercolor=#000000 mais ça ne fonctionne pas.
Comment faire ?
Sans-Nom
La question n’est pas d’imposer ou non le redimensionnement ; j’ai choisi l’affichage en pop-up pour des raisons d’esthétique et je ne vois vraiment pas l’intérêt d’afficher une page en plein écran.
De plus, ça pose quand même d’autres problèmes ; les surfeurs doivent pouvoir naviguer aussi bien avec IE, FF ou NN. Je voudrais donc avoir les mêmes proportions de marges des quatre côtés de l’image avec tous les navigateurs.
Et malheureusement, là comme ça, ce n’est pas le cas. En définissant document.Image.width+50,document.Image.height+85 j’ai quatre marges égales dans FF, mais une marge inférieure plus importante dans IE ; ça ne fait vraiment pas très sérieux…
Et comme si ce n’était pas suffisant, dans FF, sous l’image, j’ai la “location” qui s’affiche - et qui ne sert absolument à rien ! - alors qu’elle est paramétrée à 0 dans le code. Il n’y a pas un moyen de la supprimer ?