Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: Passage de paramètre HTTP et for in _root

Envoyé: 5 janvier 2004, 6h58 par Oznog


Salut,

Il suffit de passer par l'en-tête HTTP supporté par Flash. Voir la méthode GET URL et UrlEncoded

L'important est que les noms de variables utilisées correspondent avec une instance ou une variable dans le Flash.

Par exemple, le HTML suivant

<object...
<param name="SRC" value="flash.swf?id=x"><embed src="flash.swf?id=x"...

Où la variable "id" passe la valeur "x".

Et l'ActionScript, sur le premier cadre (frame).

trace(_root.id);

Devrait afficher "x". (le "trace" ne fonctionne pas dans une page Web alors pour faire ce test tu dois utiliser le doboggeur).

Tu peux aussi tout simplement mettre sur la scène principale le champ texte avec le nom de variable "id" qui prendra la valeur de la variable "id" passée par la requête HTTP.

N'oublie pas que c'est une chaine de caractères que tu devra convertir en nombre (number(x); ou parseInt(x);) pour tout test numérique.

Tu peux gérer tes propres séparateurs! Un procédé souvent utilisé pour passer un tableau (array) par exemple.

flash.swf?id=x1|x2|x3|x4|x5

_root.x aura la valeur "x1|x2|x3|x4|x5"

Il suffit de "plitter le tout" sur le séparateur "|" :

monTableau = _root.x.split("|");
trace(monTableau[2]);

' Résultat
x3

En terminant, un petit truc pour retrouver des variables passées en paramètre HTTP est de boucler toutes les variables de la racine (_root).

Tu a besoin d'une seule variable sur la scène (nom de variable "sHttp") pour afficher la "preuve". Et le code suivant sur le premier cadre (frame). Il boucle et affiche toutes les variables, instances du _root.

' Pour la requète suivante
' http.swf?x=111&y=222&w=333&z=444

for(maVar in _root){
_root.sHttp += " > " + maVar + "=";
_root.sHttp += _root[maVar];
}

maVar = le nom du "paramètre"
_root[maVar] = la valeur du paramètre.

' Résultat

> z=444 > w=333 > y=222 > x=111 > $version=WIN 6,0,79,0 > instance1=_level0.instance1

Note la présence de la variable par défaut "$version" qui est le système d'exploitation et la version de Flash installée.

Et la variable "instance1" qui est le texte sur la scène, d'ailleurs donne lui un nom d'instance et tu le verra remplacer "instance1".

Ça fait pas mal le tour.

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@