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

    Compatibilità con firefox (duplicateMovie)

    Salve a tutti,
    avrei bisogno di un'informazione.

    Ho realizzato un sito in flash che carica i dati da un db esterno in mysql e praticamente crea tanti movie clip quanti i risultati che trova sul db esterno... era il primo flash in questo modo che provavo a fare e non nego la enorme soddisfazione quando ho visto che tutto funzionava...

    Poi provo a visualizzarlo sia su IE e su firefox... ma su firefox non funziona (ne' su opera), ho messo un controllo e ho scoperto che non riesce a fare i duplicatemovie... come influisce il browser esterno sull'SWF?? perchè non riesce a duplicare i movie??
    grazie dell'aiuto

    allego lo script che duplica i filmati:

    _root.testoprova.text ="";
    var result_lv:LoadVars = new LoadVars();
    result_lv.onLoad = function(success:Boolean) {
    if (success) {
    i = 1;
    c = 1;
    d = 1;
    k = 289.55;
    h = 0;
    while (1) {
    if (result_lv["titolo"+i] == undefined) {
    _root.total=i-1;
    break;
    }
    if (c==4) {
    c=1;
    k=k-35;
    h = 0;
    //_root.thumb[nm]._x = _root.thumb[nm]._x-36 ;
    //_root.thumb[nm]._y = _root.thumb[nm]._y-xxx._width*3;
    }
    //trace(i+" - "+result_lv["titolo"+i]);
    //trace(i+" img - "+result_lv["img"+i]);
    if (_root.thumb.xxx.duplicateMovieClip(nm="im"+i,i+10 )) {

    //trace(nm);
    _root.thumb[nm]._y = h;
    _root.thumb[nm]._x = k;
    //trace (_root.thumb[nm]._x);
    //trace (_root.thumb[nm]._y);
    //trace (c);
    c++;
    h = h+36;
    _root.thumb[nm].titolo = result_lv["titolo"+i];
    _root.thumb[nm].img = result_lv["img"+i];
    _root.thumb[nm].larghezza = result_lv["larghezza"+i];
    _root.thumb[nm].titolo = result_lv["titolo"+i];
    _root.thumb[nm].didascalia = result_lv["didascalia"+i];
    _root.thumb[nm].num=i;
    _root.thumb[nm].immag.loadMovie("immagini/th_" +result_lv["img"+i]);
    _root.testoprova.text +="immagini/th_"+result_lv["img"+i] + "\n";

    i++;
    }
    else {
    _root.testoprova.text ="duplicate falliti, porca eva";
    }}
    //trace(result_lv.toString());
    } else {
    trace("ERROR");
    result_ta.text = "Error connecting to server.";
    }
    };
    var send_lv:LoadVars = new LoadVars();
    send_lv.name = name_ti.text;
    send_lv.sendAndLoad(_root.stato+".php?anno="+_root .charlie, result_lv, "POST");

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il browser non conta nulla in questo caso... nel tuo codice fai un passaggio imho inutile, ossia utilizzi due LoadVars, quando ne potresti tranquillamente utilizzare uno, quindi intanto correggi questo... poi vediamo se continua questo tuo problema

    codice:
    _root.testoprova.text ="";
    var result_lv:LoadVars = new LoadVars();
    result_lv.name = name_ti.text;
    result_lv.sendAndLoad(_root.stato+".php?anno="+_root.charlie, result_lv, "POST");
    result_lv.onLoad = function(success:Boolean) {
    	if (success) {
    		i = 1;
    		c = 1;
    		d = 1;
    		k = 289.55;
    		h = 0;
    		while (1) {
    			if (result_lv["titolo"+i] == undefined) {
    				_root.total=i-1;
    				break;
    			}
    			if (c==4) {
    				c=1;
    				k=k-35;
    				h = 0;
    				//_root.thumb[nm]._x = _root.thumb[nm]._x-36 ;
    				//_root.thumb[nm]._y = _root.thumb[nm]._y-xxx._width*3;
    			}
    			//trace(i+" - "+result_lv["titolo"+i]);
    			//trace(i+" img - "+result_lv["img"+i]);
    			if (_root.thumb.xxx.duplicateMovieClip(nm="im"+i,i+10)) {
    				//trace(nm);
    				_root.thumb[nm]._y = h;
    				_root.thumb[nm]._x = k;
    				//trace (_root.thumb[nm]._x);
    				//trace (_root.thumb[nm]._y);
    				//trace (c);
    				c++;
    				h = h+36;
    				_root.thumb[nm].titolo = result_lv["titolo"+i];
    				_root.thumb[nm].img = result_lv["img"+i];
    				_root.thumb[nm].larghezza = result_lv["larghezza"+i];
    				_root.thumb[nm].titolo = result_lv["titolo"+i];
    				_root.thumb[nm].didascalia = result_lv["didascalia"+i];
    				_root.thumb[nm].num=i;
    				_root.thumb[nm].immag.loadMovie("immagini/th_" +result_lv["img"+i]);
    				_root.testoprova.text +="immagini/th_"+result_lv["img"+i] + "\n";
    				i++;
    			} else {
    				_root.testoprova.text ="duplicate falliti, porca eva";
    			}
    		}
    		//trace(result_lv.toString());
    	} else {
    		trace("ERROR");
    		result_ta.text = "Error connecting to server.";
    	}
    };
    ps. pulisci la cache in entrambi i browser prima di fare le prove

  3. #3
    Grazie and80 MA...

    niente da fare continua a funzionare solo su IE...

    Su firefox quando cerca di fare il duplicate sembra bloccarsi e sulla barra di stato rimane scritto "in attesa localhost". Oltretutto dopo un po si attiva la richiesta di sospendere lo script che entra in loop.

    Su IE funziona invece regolarmente, ma l'SWF è lo stesso perche su un browser funziona e sugli altri no?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non mi sono soffermato a leggere lo script, ora lo faccio...

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    bien, puoi spiegarmi cosa dovrebbe fare questo ciclo?

    while (1) {

  6. #6
    niente, è un ciclo continuo, è sempre vero e lui carica le immagini fino a quando ce ne sono dopodichè interrompe:

    codice:
    if (result_lv["titolo"+i] == undefined) {
    				_root.total=i-1;
    				break;

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    è un po' rischioso no?

    ora prendiamo come assunto che sicuramente il player per IE è più stabile ed è tarato meglio di quello per FF e Opera... diciamo che i cicli nel player di IE vengono controllati con più precisione, mentre negli altri è necessario verificare e chiudere i cicli per evitare dei loop, a questo putno il tuo codice risulta essere una bomba ad orologeria meglio aggiustare quel ciclo

    prova così

    codice:
    _root.testoprova.text ="";
    var result_lv:LoadVars = new LoadVars();
    result_lv.name = name_ti.text;
    result_lv.sendAndLoad(_root.stato+".php?anno="+_root.charlie, result_lv, "POST");
    result_lv.onLoad = function(success:Boolean) {
    	if (success) {
    		i = 1;
    		c = 1;
    		d = 1;
    		k = 289.55;
    		h = 0;
    		while (result_lv["titolo"+i] != undefined) {
    			if (c==4) {
    				c=1;
    				k=k-35;
    				h = 0;
    				//_root.thumb[nm]._x = _root.thumb[nm]._x-36 ;
    				//_root.thumb[nm]._y = _root.thumb[nm]._y-xxx._width*3;
    			}
    			//trace(i+" - "+result_lv["titolo"+i]);
    			//trace(i+" img - "+result_lv["img"+i]);
    			if (_root.thumb.xxx.duplicateMovieClip(nm="im"+i,i+10)) {
    				//trace(nm);
    				_root.thumb[nm]._y = h;
    				_root.thumb[nm]._x = k;
    				//trace (_root.thumb[nm]._x);
    				//trace (_root.thumb[nm]._y);
    				//trace (c);
    				c++;
    				h = h+36;
    				_root.thumb[nm].titolo = result_lv["titolo"+i];
    				_root.thumb[nm].img = result_lv["img"+i];
    				_root.thumb[nm].larghezza = result_lv["larghezza"+i];
    				_root.thumb[nm].titolo = result_lv["titolo"+i];
    				_root.thumb[nm].didascalia = result_lv["didascalia"+i];
    				_root.thumb[nm].num=i;
    				_root.thumb[nm].immag.loadMovie("immagini/th_" +result_lv["img"+i]);
    				_root.testoprova.text +="immagini/th_"+result_lv["img"+i] + "\n";
    				i++;
    			} else {
    				_root.testoprova.text ="duplicate falliti, porca eva";
    			}
    		}
    		//trace(result_lv.toString());
    	} else {
    		trace("ERROR");
    		result_ta.text = "Error connecting to server.";
    	}
    };

  8. #8
    niente da fare, anche con le tue ultime modifiche continua ad andare solo su IE?

    Secondo te il problema sta nella diversità del Flash Player?

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho paura che lo script debba essere ripreso, ho visto che fai un altro if "strano", quello del duplicateMovieClip... se non sbaglio il duplicateMovieClip restituisce un MovieClip e non un Boolean, probabilmente è lì che il player si incarta, su quell'if

    ps (ora il problema del loop dovrebbe essere comunque risolto, mi smentisci? )

  10. #10
    quell' IF è il controllo che ho messo per vedere se funziona il duplicatemovie (per avere una finestra di testo dove osservo i risultati: else {_root.testoprova.text ="duplicate falliti, porca eva", nel codice originario non c'era ovviamente ma il risultato era il solito, posso toglierlo nuovamente ma come al solito va solo su IE...

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.