ho cercato di complicare un po' uno scriptino per popups.
Per non creare varie pagine .html (una per ogni foto) ne ho fatta una sola, che possa essere richiamata da link con l'invio della variabile identificante la foto da mostrare 'showfoto.html?foto'.
nella pagina richiamata vi sono 2 array, uno con i nomi delle foto ed uno con i commenti.
Qui sotto posto il codice ultra-semplificato (in realta' le foto sono + di 40...)
L'ho anche messo in rete all'indirizzo www.inkxs.net/prove/paginainiziale.html nel caso vogliate testarlo.
Il problema:
- in locale funziona solo con IE 6, le foto vengono mostrate con i loro commenti.
- In rete non funziona nemmeno con IE
- con Opera 6 mostra i commenti ma non le foto. Non ridimensiona neppure la tabella, quindi vuol dire che non riconosce l'immagine.
- con Netscape 4.7 va in palla. Apre solo la prima popup ma completamente vuota. Se provo a linkarne una seconda senza aver prima chiuso la precedente, s'inchioda.
- Netscape 6 e 7 dopo l'ultima formattazione non li ho rimessi, e ce li ho su un cd che ho lasciato a casa di un amico, non posso installarli x testare.
Quindi:
Quali sono le modifiche da fare al codice? Dove ho sbagliato?
Qua sotto c'e' la prima pagina, da cui lancio le popups:
codice:
<html>
<head>
<script language="JavaScript">
<!--
var foto;
var grand;
var totx = window.screen.width;
var toty = window.screen.height;
function photo(foto,dimensionifinestra)
{
larg=new Array(2)
larg[0] = 250 // esempio
larg[1] = 472 // Foto orizzontali
larg[2] = 322 // Foto verticali
altz=new Array(2)
altz[0] = 250
altz[1] = 542
altz[1] = 392
var posx = (totx - (larg[dimensionifinestra])) / 2;
window.open('showfoto.html?'+foto+'','','toolbar=0,directories=0,menubar=0,status=0,resizable=1,location=0,top=40,left='+posx+',width='+larg[dimensionifinestra]+',height='+altz[dimensionifinestra]+',scrollbars="no"');
}
//-->
</script>
</head>
<body>
Photo Caffettiera
Photo Frullatore
Photo Padella
</body>
</html>
--------------------
Mentre qua sotto c'e' il file richiamato (showfoto.html):
codice:
<html>
<head>
<title>prova</title>
<script language="JavaScript">
<!--
function mostrafoto() // Ultimo aggiornamento foto: 24Novembre03
{
var numero = "00"
var phot = new Image();
foto=new Array(03)
foto[00]="caffettiera.jpg"
foto[01]="frullatore.jpg"
foto[02]="padella.jpg"
commento=new Array(03)
commento[00]="una caffettiera"
commento[01]="un frullatore"
commento[02]="una padella"
numero = eval(location.search.substr(1));
phot.src = (foto[numero])
photW=phot.width;
photH=phot.height;
cellW=photW+4;
cellH=photH+4;
document.write('<table width='+cellW+'><tr><td height="'+cellH+'" bgcolor="#660000">');
document.write('[img]'+foto[numero]+'[/img]</td></tr></table>');
document.write('
<font color="#660000" size="1">');
document.write(commento[numero]);
}
//-->
</script>
</head>
<body><center>
<script language="JavaScript"><!--
mostrafoto()
-->
</script>
</center></body>
</html>