- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP.NET] Session tra aspx e swf
-
Premesso che non sono esperto in Flash Action Script, non credo che variabili di Sessione definite all'interno di flash script siano visibili ("scope") all'esterno (in questo caso ASP.NET). Ma, potrei sbagliarmi, prova a dare uno sgaurdo a questo articolo che, forse, ti può essere utile.
In ogni caso la selezione della lingua (e le strutture di navigabiltà del sito: menu, ecc...) la porterei fuori dal flash posto in Home Page anche e sopratutto per motivi SEO (che io sappia i crawlers dei motori di ricerca non seguono controlli utente scritti in Flash Action Script).
-
Gestire la lingua con le session è un suicidio.
Va gestita su base url
-
forse non ho capito nulla ma ci provo...
se quando richiami il flash, nel tag object , metti
<param name="movie" value="fileswf.swf?lingua=IT" />
e recuperi la variabile lingua nella _root del filmato?
Potrebbe andare bene?
La querystring la crei dinamicamente in base alla scelta della lingua, da .NETc'ho provato non mi prendete in giro....:D
-
Si grazie ,ho fato proprio così e funziona alla grande!!! unico neo è che se cambio lingua deve ricaricare pagina ed oggetto flash tornando ad inizio filmato ,quando se tutto era nel flash non c'era bisogno.
-
...............:D
ogni tanto ci becco.....
-
Si... Bravo!!! Ma vedi se becchi questo:
Come faccio a spostare i files xml delle lingue in una sottocartella??? Sempre in flash intendo!
sarà da dichiarare da qualche parte la loro posizione che di default prende nella cartella dove viene eseguito il filmato.
Grazie
-
non so come è fatto il codice .as
cmq se leggi XML da qualche parte dichiarerai un oggetto XML
ad es:mioxml = new XML();
e da qualche altra parte leggerai il file xml in questo modo
mioxml.load("filexml.xml")
se nell'object passi 2 vaiabili :
il nome del file
la cartella
ciccio.swf?lingua=ita&cartella=/lingua/fai:
mioxml.load(_root.cartella + _root.lingua +".xml")
Attenzione in QueryString non passare mai ".xml" altrimenti dovresti fare l'URLencode.
-
Dunque ,cosa tu hai spiegato è chiarissimo ma il mio codice è un po' diverso...
import mx.lang.Locale;//carica il file delle lingue Locale.setLoadCallback(testi);//richiama la funzione cambio lingue //Leggo parametri dell'indirizzo della pagina se ritorno da un'altra lingua if (_root.aspalang == "eng"){//la stringa è nell'html _global.Alang = "eng" cambia_lingua("en")//per aggiornanare subito tutti i font }else if (_root.aspalang == "rus"){ _global.Alang = "rus" cambia_lingua("ru")//per aggiornanare subito tutti i font }else{ _global.Alang = "ita" cambia_lingua("it")//per aggiornanare subito tutti i font } //Cambia il file lingue utilizzato nel filmato function cambia_lingua(Lingua:String):Void { Locale.loadLanguageXML(Lingua); }
mi sai aiutare? Grazie
-
azz una classe predefinita per le lingue....
è di macromedia? vero?Non sapevo che esistesse (...questo periodo mi capita molto spesso si dire questa frase...)
ho visto il reference
**Locale.addXMLPath("it","path/ita.xml")**
Tu mi vuoi far uscire pazzo...:D
Già sto studiando .NET, così mi si riempe il cervello di classi!!!!!!Prova prova, poi fammi sapere, potrebbe essere utile anche a me!!!!
-
Stai studiando .net ???? ma io e te potremmo diventare grandi amici!! anch'io sto studiando .net 2.0 e mi cimento con il flash. con il vb6 me la cavo ,lato serve faccio ancora confusione....
Va be, appena riesco provo la tua procedura e ti faccio sapere ,se è di macromedia non lo so, ma mi sono domandato una cosa simile ,comunque funziona!
-
No!
inserisco la stringa da te menzionata ,sposto le cartelle con gli xml ,ma quando pubblico il filmato mi ricrea nella _root le 3 cartelle di nome "it" "en" "ru" che contengono rispettivamente "Home_en.xml" ecc.
Lancio il filmato appena compilato dopo aver tolto le cartelle ma non trova i file xml....
Ammetto di essere abbastanza ignorante in materia ma questa cosa proprio non la capisco... :():
-
strano, dovrebbe funzionare...:bho:
mx.lang.Locale.addXMLPath("it", "lingue/linguaita.xml"); mx.lang.Locale.initialize();
Metti un punto di interruzione e vai in debug... (ctrl+shift+invio)
guardati anche questo
http://flash.html.it/articoli/stampa/2173/applicazione-multilingua-in-flash/