FAQ Flash 8
FAQ Flash 8Consultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 84, dernière mise à jour : 15 juin 2021
- Comment envoyer des paramètres coté serveur ?
- Comment récupérer des données non formatées ?
- Comment récupérer des données d'un fichier texte ?
- Pourquoi mes données, récupérées dynamiquement, ne s'actualisent pas ?
- Comment afficher tous les caractères accentués des données importées?
- Peut-on envoyer un swf dans un email ?
La classe LoadVars permet d'envoyer des données pour pourront être récupérer coté serveur.
var
my_lv:
LoadVars
=
new
LoadVars
(
);
my_lv.
param1 =
"Parametre 1"
;
my_lv.
param2 =
"Parametre 2"
;
my_lv.
send
(
"loadVars_send_fmx.php"
);
Remarque : Vu que la classe permet d'envoyer et de recevoir des données, il est bien entendu possible de faire les deux processus en même temps : envoyer et recevoir.
Pour cela, il suffit d'utiliser la méthode sendAndLoad
Pour récupérer des données non formatées, nous pouvons indifféremment utiliser les classes LoadVars ou XML Il faudra alors utiliser la méthode onData.
Avec la classe LoadVars :
var
my_lv:
LoadVars
=
new
LoadVars
(
);
my_lv.
load
(
"fichier.txt"
);
my_lv.
onData
=
function
(
src:
String
) {
texte_txt.
text
=
src;
}
Avec la classe XML :
var
my_xml:
XML
=
new
XML
(
);
my_xml.
load
(
"fichier.txt"
);
my_xml.
onData
=
function
(
src:
String
) {
texte_txt.
text
=
src;
}
La classe LoadVars facilite la gestion du rapatriement des données en intégrant des méthodes - onLoad et onData - indiquant si le chargement est terminé ou pas et donc si les variables sont accessibles ou pas.
Concrétement, il suffit de créer un fichier texte comme ceci :
titre=Flash 8&texte=Ce texte, issu d'un fichier texte, a été récupéré grâce à la classe LoadVars:D
Pour afficher les données chargées, nous créons deux champs texte dynamiques ayant comme nom d'occurrence titre_txt et texte_txt puis nous utilisons le code suivant :
var
my_lv:
LoadVars
=
new
LoadVars
(
);
my_lv.
load
(
"loadVars_fmx.txt"
);
my_lv.
onLoad
=
function
(
ok:
Boolean
) {
if
(
ok) {
// Le chargement a réussi
titre_txt.
text
=
my_lv.
titre;
texte_txt.
text
=
my_lv.
texte;
}
else
{
// Le chargement a échoué
texte_txt.
text
=
"Pb lors de la récupération des données"
;
}
}
Il s'agit certainement d'un problème de cache. Pour résoudre ce problème, il suffit d'ajouter une valeur non constante à l'url recherchée.
Vous pouvez, par exemple, lier cette valeur à l'heure actuelle.
Exemple d'un fichier xml:
function
noCache
(
):
String
{
return
"nocache="
+(
new
Date
(
)).
getTime
(
);
}
// Usage
var
xmlFile:
XML
=
new
XML
(
);
xmlFile.
load
(
"monFichier.xml?"
+
noCache
(
));
Pour cela, il faut que les données importées dans Flash soient en UTF-08. Cela se traduit de cette manière:
Pour un fichier, celui doit être enregistrer en UTF-8 (Enregistrer sous dans le Bloc-Note Windows par exemple)
Pour une page php, il faut mettre, en début de page :
UTF8_encode($mavariable
);
Pour une page asp:
Session.Codepage = 65001
Pour une page asp.net:
Response.
ContentEncoding =
Encoding.
UTF8;
Response
.ContentEncoding
=
Encoding.UTF8
Oui, c'est possible, mais c'est trés fortement déconseillé, car pour qu'un swf s'affiche directement dans un mail il est nécessaire que le destinataire ait un niveau de securité bas.
Or par défaut il est moyen, donc il y a trés peu de chance que cela marche !
Par conséquent, nous vous conseillons plutôt de placer votre animation sur une page web et d'insérer un lien vers cette page dans l'email.