Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    window.resize errore solo con IE

    Uso questo codice per ridimensionare un movie Flash ogni volta che viene ridimensionata la finestra.

    codice:
    function setFlashSize(){
    	winWidth = document.all ? window.document.body.clientWidth : window.innerWidth
    	winHeight = document.all ? window.document.body.clientHeight : window.innerHeight
    	winHeight -= 90
    	var flashMovie = document.getElementById("flashMovie")
    	if (parseInt(flashMovie.style.height) != winHeight) flashMovie.style.height = winHeight + 'px'
    	if (parseInt(flashMovie.style.width) != winWidth) flashMovie.style.width = winWidth + 'px'
    }
    setFlashSize()
    window.onresize = setFlashSize
    Con Firefox e Opera è una meraviglia, quando l'ho scritto mesi orsono funzionava anche con IE ma l'ho provato oggi (non uso mai IE! ) e si freeza.
    Ho provato ad aggiungere un timeout di 100ms e ho notato che la finestra continua ad ingrandirsi da sola richiamando di continuo la funzione...

    Qualcuno ci capisce qualcosa? Come posso fare perchè IE richiami la funzione SOLO quando l'utente ridimensiona la finestra e una volta sola???

    Grazie in anticipo a chi vorrà aiutarmi...
    (ai tempi funzionava...)

  2. #2
    Nessuno sa niente?
    E' cambiato qualcosa in IE, perfino questo esempio di un sito primo su Google per window.resize con Internet Explorer non funziona...

    A quanto pare non sono l'unico...
    http://forums.microsoft.com/MSDN/Sho...80494&SiteID=1

    Che browser di M..da...

  3. #3
    Originariamente inviato da cicciput
    Che browser di M..da...
    Che peccato che in molti non se ne rendano conto !

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova questo, adattandolo al tuo caso
    codice:
    <script type="text/javascript">
    <!--
    function funzione(){
    	alert('resized');
    }
    var rszd=false;
    
    window.onresize=function(){if(!rszd){funzione()};rszd=!rszd;setTimeout('rszd=!rszd',50);}
    //-->
    </script>
    ciao

  5. #5
    Grazie Xinod ma non và

    Ho caricato quì il tuo codice ma, sebbene con Firefox e Opera sia perfetto con IE non si inchioda più come prima ma non ti permette di ridimensionare la finestra se non massimizzarla (è comunque un passo avanti, utenti ignari non mi malediranno più che gli faccio crashare il browser )

  6. #6
    Appurato che comunque questa soluzione non risolve il mio problema (crea ancora dimensioni inimmaginabili al filmato flash) potrebbe essere un inizio o funzionare per cose più lievi:
    codice:
    <script type="text/javascript">
    <!--
    function funzione(){
    	alert(rszd);
    }
    var rszd=false;
    
    document.onmouseover = function(){if(rszd)funzione();rszd=false;}
    window.onresize=function(){rszd=true;}
    //-->
    </script>
    L'evento onresize setta solo una variabile a true e sarà poi il mouse quando ritorna sul document a far partire l'evento per onresize...

    Altre idee???Esempio

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da cicciput
    Grazie Xinod ma non và
    anche a me il tuo esempio non va, ma lo script inserito nell' head funziona
    ciao

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    L'evento onmouseover scatta solo se il mouse e' all'interno della finestra, non quando e' sul bordo a ridiemnsionarla...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Originariamente inviato da Xinod
    anche a me il tuo esempio non va, ma lo script inserito nell' head funziona
    ciao
    L'ho messo nell'head ma a me continua a non andare...
    http://www.blanksheetmusic.net/prova-resize.html

    @ br1: lo so, infatti avevo scritto "sarà poi il mouse quando ritorna sul document", non è una soluzione ma una pezza...

    Si può fare di meglio lo so, solo che non so come...

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova questa:

    var rszd=false;
    window.onresize=function(){if(rszd)clearTimeout(rs zd);rszd=setTimeout('funzione();rszd=false',250);} ;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.