se sul tuo pc funziona e sul server no potrebbe essere problema di percorso: e' diverso caricare un file in locale da uno che devi prendere come http://eccetera..
se sul tuo pc funziona e sul server no potrebbe essere problema di percorso: e' diverso caricare un file in locale da uno che devi prendere come http://eccetera..
Devo cambiarwe il percorso nell'swf????
Il problema è che non capisco dove carica il txt!
![]()
il txt dove sta esattamente? come lo richiami?
Il txt si chiama menu1.txt e si trova nella stessa cartella sell'swf!
p = _parent.est;
_parent.pre._visible = 0;
_parent.est.main._visible = 0;
// caricamento del file di testo
var inizio = _root._url.lastIndexOf("/") + 1
var fine = _root._url.lastIndexOf(".swf");
var u = _root._url.substring(inizio,fine) + ".txt";
loadVariables(u, this);
Alla variabile p viene associato il riferimento al movieclip est presente nella timeline principale: in questo modo, potremo usare p.movieclip abbreviando per _parent.est.movieclip.
Rendiamo invisibili con la proprietà _visible sia il movieclip pre, che il movieclip est.main, cioè le basi per la duplicazione. Quindi carichiamo nel movieclip loader il file di testo, che deve avere lo stesso nome del filmato. Cambiando il nome al file swf, ci basterà cambiare anche quello del file di testo perchè tutto funzioni regolarmente.
Questo perchè la funzione estrae dalla proprietà _url il percorso del file swf, ed elaborandone la stringa derivata crea il riferimento al file di testo. Vediamo come.
Supponiamo che il filmato sia in questa posizione:
http://flash-mx.html.it/cartella/menuFlash.swf
La proprietà _url restituisce appunto la stringa: "http://flash-mx.html.it/cartella/menuFlash.swf"
Con il substring(x, y), prendiamo una porzione di stringa che va dal carattere nella posizione x al carattere nella posizione y, mentre il lastIndexOf(stringa) ci restituisce la posizione dell'ultima evenienza della sottostringa indicata tra parentesi. Quindi con
var inizio = _root._url.lastIndexOf("/") + 1
troviamo questo punto:
http://flash-mx.html.it/cartella/menuFlash.swf
con
var fine = _root._url.lastIndexOf(".swf");
troviamo quest'altro:
http://flash-mx.html.it/cartella/menuFlash.swf
Prendendo quello che c'è in mezzo, e attacandogli in fondo ".txt", otteniamo "menuFlash.txt".
E questo è il nome del file di testo da caricare.
Questa è la spiegazione di come viene dato il percorso per il file di testo!
Quindi io gli dò un percorso assoluto non relativo giusto?
Di conseguenza anche 2003 dovrebbe accettarlo senza problemi!
Perchè non funziona?
![]()
![]()
![]()
![]()
![]()
![]()
![]()
hai fatto un trace(u)?
p = _parent.est;
_parent.pre._visible = 0;
_parent.est.main._visible = 0;
// caricamento del file di testo
var inizio = _root._url.lastIndexOf("/") + 1
var fine = _root._url.lastIndexOf(".swf");
var u = _root._url.substring(inizio,fine) + ".txt";
trace(u);
loadVariables(u, this);
![]()
dies
A cosa serve il trace(u)?
Senza di quello funziona (in locale) e funzionava anche sul vecchio server!
E' possibile scrivere a mano il percorso???
Nel senso di mettere una cosa del tipo
var u = _root._url.http://www.sito.com/cartella/menu1.txt;
al posto di
var u = _root._url.substring(inizio,fine) + ".txt";
Cambierebbe qualcosa?
serve a vedere se u è definita.
Testandolo in locale vedo i menu ed i sotto menu e nella finestra di output mi stampa menu1.txt
Mi doveva stampare tutto il percorso?
non lo so... questo lo devi sapere tu, in relazione alle variabile che vuoi "combinare assieme"
cmq prova a scrivere i percorsi relativi nella variabile u e non quelli assoluti.
sicuramente è un impostazione del server... il "problema"!
senti ma hai provato a lanciare (nel browser) solo il file di testo?
cosa vedi?
![]()
dies