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

    Auto aggiornamento file Flash dopo modifica

    Salve a tutti. Vorrei che qualcuno mi prestasse aiuto per il mio problema. Mi scuso se ho inserito il topic in una sezione sbagliata, ma non avevo idea di dove metterlo data la varietà di argomenti. Ho una news box in flash, questa carica dati da un file xml. Da qualche mese quando aggiorno il file xml, devo svuotare tutta la cronologia per vedere le modifiche effettuate. Su Internet ho trovato il codice per far ricaricare le pagine facendo credere che il file sia ogni volta diverso, ma avendo conoscenza solo di HTML e Front Page non so dove mettere le mani, quindi avrei bisogno di qualcuno che mi scriva passo passo il codice da inserire (ve ne sarei eternamente grato!).
    Questo è il codice che inserisco io nella pagina html per inserire la News Box:
    <A
    href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&amp;pr omoid=BIOW">
    <FONT
    color=#ff9900 size=1 face=Tahoma>scarica Flash Player</FONT></A> </DIV>
    <SCRIPT type=text/javascript>
    var so = new SWFObject("newsBox.swf", "mymovie", "670", "260", "8", "#FFFFFF");
    so.addParam("quality", "best");
    so.addParam("salign", "t");
    so.write("flashcontent");
    </SCRIPT>

  2. #2
    Con qualche difficoltà sono riuscito ad arrivare al file .fla (dove non riuscivo a capire niente), e col tasto F9 ho visto tutti i codici delle azioni, ho trovato la parte dove parla del file XML (l'unica che sono riuscita a trovare), mi potete dire se è qui che devo modificare il codice per far caricare ogni volta lo stesso file XML, ma con variabili diverse, così da ingannare la cache e far risultare ogni volta le modifiche? Oppure sto totalmente sbagliando strada? HELP ME!
    codice:
    stop();
    var arrMenu:Array = new Array();
    var arrItem:Array = new Array();
    //
    function loadXML(loaded) {
    	if (loaded) {
    		var xmlRoot = this.firstChild;
    		_global.galleryNo = xmlRoot.childNodes.length;
    		for (m=0; m<galleryNo; m++) {
    			_global.items = 4;
    			arrMenu.push(xmlRoot.childNodes[m].attributes.name);
    			for (i=0; i<items; i++) {
    				var descString:String = unescape(xmlRoot.childNodes[m].childNodes[i].childNodes[1].firstChild);
    				//Uppercase Main Title
    				var xString1 = unescape(xmlRoot.childNodes[m].childNodes[i].childNodes[0].firstChild);
    				var my_xml1:XML = new XML(xString1);
    				var my_node1:XMLNode = my_xml1.childNodes[0];
    				var titleString = my_node1.toString().toUpperCase();
    				//
    				var imageString = xmlRoot.childNodes[m].childNodes[i].childNodes[2].firstChild;
    				var linkString = xmlRoot.childNodes[m].childNodes[i].childNodes[3].firstChild;
    				arrItem.push(new Array(titleString, descString, imageString, linkString));
    			}
    		}
    		gotoAndStop("start");
    	} else {
    		trace(xmlFile+" not loaded!");
    	}
    }
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlFile = "slideShow.xml";
    xmlData.load(xmlFile);

  3. #3

    Ciao

    Per ingannare la cache solitamente io uso passare un parametro fittizio che "cambia sempre", non serve a nulla se non per ottenere lo scopo di ingannare appunto la chahe che forza il ricaricamento del file.....non ho mai provato a usare il "trucchetto" ti riporto l'ultima parte del codice che hai postato e dove ho inserito una piccola modifica:

    ...
    ...
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;

    // aggiungiamo un numero casuale:
    number = random(500);

    //alla chiamata del file passiamo una variabile "t" (o quello che vuoi) e gli associamo il valore
    di number

    xmlFile = "slideShow.xml?t="+number;
    xmlData.load(xmlFile);


    in questo modo (in teoria) ogni volta che il file verrà richiamato in questo modo es:
    - slideShow.xml?t=21
    - slideShow.xml?t=125
    ecc...

    quindi la variabile t che cambia ad ogni chiamata "dovrebbe" ingannare la chiamata ad un fiel diverso anche se in realtà è lo stesso :-)

    io penso funzioni anche in flash!!...
    fammi sapere
    ciao

  4. #4
    Grazie mille, avevo trovato le altre discussioni, ma non ero riuscito a capire che in locale il file non si poteva vedere, mentre in rete funzionava. L'altro intoppo che ho riscontrato è ingannare la cache anche per quanto riguarda il file swf, fino a che non ho eliminato la cronologia non mi ha impostato i cambiamenti. Dici che lo stesso metodo lo posso inserire anche nel codice html della pagina?

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.