Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Un incredibile Flash + JavaScript

    Salve,
    Sto letteralmente impazzendo con una cosa che secondo me ha dell'incredibile, per le mie (limitate) conoscenze di Flash:

    Ho quest'ActionScript
    codice:
    if (!file) {
    	file = "progress.txt";
    }
    
    if (!interval) {
    	interval = 500;
    }
    
    percentage = "0%";
    progress = "Sending E-mail";
    tries = 0;
    
    updater = setInterval(update, interval);
    
    function update() {
    	lvData = new LoadVars();
    	
    	if (file == "progress.txt") {
    		lvData.load(file);
    	} else {
    		lvData.load(file+"?"+Math.random());
    	}
    	lvData.onLoad = function(success) {
    		if (success) {
    			progress = "Sending E-mail " + lvData.current + " of " + lvData.total;
    			
    			balk._xscale = (lvData.current / lvData.total) * 100;
    			balk._y = 62;
    			balk2._xscale = _root.balk._xscale;
    			balk2._y = _root.balk._y;
    			
    			if (lvData.current > 0 && lvData.total > 0) {
    				_root.percentage = Math.round((lvData.current / lvData.total) * 100) + "%";
    			}
    			
    			if (lvData.current == lvData.total) {
    				clearInterval(updater);
    				progress = "Ready!";
    			}
    			
    			tries = 0;
    		} else {
    			if (tries > 6) {
    				progress = "Can't load progress information";
    			}
    			
    			tries++;
    		}
    	}
    }
    Come si vede, viene caricato un certo file contenente le variabili da mostrare.
    Per farla un po'più complicata del normale, il nome del file viene passato tramite un JavaScript:
    codice:
    function getFile()
    {
    var newVar="";
    var str = document.location.href;
    var theleft = str.indexOf("?");
    if (theleft != -1) {
    	newVar = str.substring(theleft+1)
    }
    return(newVar);
    }
    
    
    function generateFlash() {
    	var tag = '' + 
    '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="300" height="100">'+
    '  <param name="movie" value="blue_mailprogress.swf" />'+
    '  <param name="wmode" value="transparent" />'+
    '  <param name="menu" value="false" />'+
    '  <param name="scale" value="exactfit" />'+
    '  <param name="salign" value="L" />'+
    '  <param name="quality" value="high" />'+
    '  <param name="bgcolor" value="#000000" />'+
    '  <param name="FlashVars" value="file=public/456&interval=1000" />'+
    '  <embed src="blue_mailprogresss.swf" FlashVars="file=' + getFile() + '&interval=1000" wmode="transparent" menu="false" quality="high" scale="exactfit" salign="L" bgcolor="#000000" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="100" />'+
    '</object>';
    
    document.write(tag);
    
    }
    Il nome del file è "456" (al momento è un nome che ho messo io, poi corrisponderà alla Sessione del server)
    Ora, perchè se io metto:
    codice:
    value="file=456&interval=1000"
    funziona perfettamentre, mentre se metto
    codice:
    value="file=../../public/456&interval=1000"
    non funziona neanche a morire?
    Nel primo caso metto il file "456" nella stessa cartella del Flash, nel secondo caso lo metto nella cartella public che si trova due livelli sopra (insomma, i percorsi sono corretti, controllati e ricontrollati decine di volte)

    In più, vi segnalo una anomalia inquietante: nel file Flash ho messo un campo di testo dinamico che mi restituisce, a mo' di debug, il valore della variabile "file"...
    ebbene, riferendomi a prima, nel primo caso mi restituisce giustamente "456", nel secondo mi restituisce "progress.txt", cioè viene "attivata" la porzione di codice
    codice:
    if (!file) {
    	file = "progress.txt";
    }
    che equivale a dire che... non gli viene passato nessun parametro!
    Boh! E' un problema di slash nel percorso? Non ci credo...
    è il nome della variabile "file" che gli dà fastidio? C'è qualcosa che mi sfugge?
    Grazie in anticipo per le risposte e la pazienza...

    PS: se volete posso fornirvi i sorgenti per fare dei test...
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  2. #2
    scusa ma fare una pag asp che passa la variabile al flash non è più semplice di tutto sto codice ??

    codice:
    <object type="application/x-shockwave-flash" data="servizi_online.swf" width="740" height="650">
    	<param name="movie" value="servizi_online.swf" />
    	<param name="FlashVars" value="name=<%=request("external_file")%>" />
    <embed src="servizi_online.swf" 
    	 FlashVars="name=<%=request("external_file")%>" width="740" height="600</embed>
    </object>
    e dentro l'swf leggi la variabile "name"

  3. #3
    Ci posso provare, ma il file che contiene la porzione JavaScript è una finestra popup con estensione html, aperta da una pagina parent che passa la querystring
    Ma non è che cambi molto, se devo mettere gli slash nel path il problema rimane...

    Cmq, per sicurezza ho messo on-line i file per testare tutto:
    http://www.ivanhalen.com/downloads/progress.zip
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  4. #4
    up...
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  5. #5
    è sicuramente un problema di percorsi.
    metti semplicemente il percorso assoluto del file (tipo: http://www.tuodominio.it/progress.txt) e vedrai che funziona.

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.