PDA

View Full Version : [javascript] aggiungere il resize ad uno script


uecanaia
19-05-2010, 08:23
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
var i=0,
Buongiorno. ho il seguente script che effettua uno "slideshow" del contenuto di un array "arrpages" mostrandolo a video per 3 secondi mediante iframe che richiama la funzione "changePage()".
Nell'array possono essere inseriti sia file html che immagini. Ho la necessità di ridimensionare il contenuto a 588x680 pixel, ma se agisco su width ed height si limita a creare una finestra senza ridimensionarne il contenuto.
Cosa devo scrivere\ aggiungere per avere la funzione resize?


arrPages=["http://localhost/miacartella/pagina1.htm", "http://localhost/miacartella/immagine.jpg"];
function changePage(){
if(!arrPages) i=0;
document.getElementById("main").src=arrPages[i++];
}
</script>
</head>
<body>
<iframe src="about:blank" onload="setTimeout('changePage()',3000)"
id="main" width="100%" height="100%"></iframe>
</body>
</html>

MaxArt
20-05-2010, 00:24
Nell'array possono essere inseriti sia file html che immagini. Ho la necessità di ridimensionare il contenuto a 588x680 pixel, ma se agisco su width ed height si limita a creare una finestra senza ridimensionarne il contenuto.
Cosa devo scrivere\ aggiungere per avere la funzione resize?Ti dico già che è un bel casino e non sarà per nulla certo che esca decentemente.
Si tratta di andare a manipolare il DOM creato all'interno dell'<iframe>: il body lo recuperi così:
var ifr = document.getElementById("main");
var body = (ifr.Document || ifr.contentDocument).body;
(Document è per Internet Explorer, contentDocument per gli altri browser.)
Se c'è solo un'immagine il gioco è semplice: gli applichi lo stile che vuoi e la ridimensioni.
Se c'è un documento html, c'è la proprietà di stile zoom che puoi applicare al body del documento: misuri quanto è grande nelle due dimensioni e poi ti calcoli il livello di zoom che ti serve.
C'è un problema: zoom è disponibile solo per Internet Explorer. Per tutti gli altri browser dovresti a modificare tutta la struttura HTML della pagina, cosa che ovviamente è un inferno ed è quasi impossibile da far venire bene, a meno che non si tratti di un sito basato interamente sulle percentuali come dimensionamenti.
In condizioni normali, ti direi: lascia perdere...

uecanaia
20-05-2010, 13:57
grazie!!!