-
action lors de la sortie
Bonjour,
Le titre n'étant pas très clair je précise:
je souhaite effectuer une action lorsque l'utilisateur quitte mon application web en flex.
Cette action devrait être effectuée par exemple lorsque l'utilisateur ferme son navigateur alors qu'il avait une page d'ouverte avec dedans mon .swf ou lorsqu'il ferme l'onglet associé.
J'ai besoin de retenir les positions de composants. Je stock ces positions dans un array que je stock ensuite dans un SharedObject chez l'utilisateur.
Il y a peut être un évènement associé à cela mais je n'ai pas trouvé lequel.
Merci d'avance de votre aide !
-
Salut,
la solution possible est de capter en javascript la fermeture de la fenêtre et via externalInterface remonter l'info et agir en conséquence.
J'ajoute que pour assurer la bonne écriture de toutes les données (si le traitement est plus ou moins long) il peut etre utile d'ouvrir une alerte javascript lors de la fermeture de la fenêtre, informant l'utilisateur que l'application va se fermer et attendre son action (click sur Ok par exemple). C'est certes pas du tout ergonomique et chiant au possible pour l'utilsateur mais c'est la seule solution qui me vienne pour assurer l'écriture des données à la sortie de l'application.
-
ok, il n'y a donc d'après toi aucun moyen de capter la fermeture de flash player depuis flex en AS3 (un peu comme tu me dis de capter la fermeture du navigateur via java)
Le fait est que je ne connait pas le java et ca m'embête un peu de le voir juste pour ca... (même si je m'y mettrai surement un jour ;))
D'un autre coté, ca m'étonne un peu que cela soit impossible (ou si compliqué)...
J'aurais plutôt espéré une soluce du genre "nan mais y'a un évènement pour ca... screen.addEventListener(QUIT, maFonctionAvantDeQuitter);" ca aurai été trop beau.
Merci beaucoup pour ta réponse je vais essayé de voir ca.
Mais si quelqu'un a une solution plus simple ou/et interne a flashPlayer... je suis toujours la :lol:
-
il ne faut pas perdre de vue que ton application Flex n'est qu'un objet de ton container principal : ta page HTML.
Pour ton browser l'appli n'est pas une page/fenetre à part entiere, c'est le container HTML!
Donc même si tu as un event de CLOSE sur ton appli Flex(CloseEvent sur ton application peut etre) tu n'aurais pas le temps d'effectuer des traitements car l'action de l'utilisateur demande la fermeture du container HTLM => donc plus d'instance de ton objet flash => donc pas de code AS/MXML.
Je précise que c'est du javascript et non du java (rien a voir) et qu'il s'agit d'écouter l'event onbeforeunload
-
oui JavaScript pardon, Ok ca parait logique en effet. Dans ce cas je vais mettre ca de coté pour l'avoir sous la main dès que je me met au JavaScript.
Merci pour ton aide JN !