Flash : récupérer l'url de la page en cours dans un swf

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

2fou
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 223
Inscription: Lun Juil 07, 2003 23:50

Flash : récupérer l'url de la page en cours dans un swf

Message le Lun Jan 23, 2006 16:20

Bonjour,

j'ai un site avec plusieurs page structurées de la même façon.

- un bandeau
- un menu en flash
- du contenu texte
- un menu texte en bas

mon menu en flash contient donc les liens aux autres pages mais je voudrais qu'il affiche aussi le titre de la page en cours.
les clips ont été créés.

Je cherche dons un script me permettant de faire quelquechose du style :
- si la page en cours est page1.html, setProperty("_root.titrepage1", _visible, "1");
...

ou alors de faire passer la variable page='page1' de la page html au swf. et faire ensuite un truc du style : si $page = page1 - setProperty("_root.titrepage1", _visible, "1");


Voilà, si quelqu'un sait comment faire.
Merci de m'aider, s'il vous plait.


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Lun Jan 23, 2006 16:39

tu generes ton html avec un php qui va ecrire un truc dans ce style la :

VALUE="flaMovie1.swf?page=1"


et dans le flash tu récuperes la variable comme ca:

trace(_root.page);


apres tu la parses comme tu veux et tu t'en sert pour afficher ton contenu spécifique.

si tu veux un exemple, regarde les titres en flash de ce blog :
-http://www.tweenpix.net/blog/

2fou
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 223
Inscription: Lun Juil 07, 2003 23:50

Message le Lun Jan 23, 2006 17:14

Merci totoshop user.

j'ai essayé ceci mais malheureusement sans succès :

-dans ma page html , dans les paramètres de mon objet flash :
Code: Tout sélectionner
<param name="movie" value="[b]menu.swf?page=page3[/b]">
        <param name="quality" value="high">
        <embed src="[b]menu.swf?page=question[/b]" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>


- dans mon flash, sur une image clé vide :
Code: Tout sélectionner
trace(_root.page);

if(_root.page="page1")
{
setProperty("_root.titre1", _visible, "1");
setProperty("_root.titre2", _visible, "0");
setProperty("_root.titre3", _visible, "0");
setProperty("_root.titre4", _visible, "0");
}
else if(_root.page="page2")
{
setProperty("_root.titre1", _visible, "0");
setProperty("_root.titre2", _visible, "1");
setProperty("_root.titre3", _visible, "0");
setProperty("_root.titre4", _visible, "0");
}

...
etc,...

else if(_root.page="contact")


ou ai je fait un oubli ou une erreur?


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Lun Jan 23, 2006 17:24

tu as bien déclaré la variable page dans le flash ?

au passage le trace ne sert a rien vu que la variable est initialisé par l'html et alors tu n'as pas de Sortie

2fou
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 223
Inscription: Lun Juil 07, 2003 23:50

Message le Lun Jan 23, 2006 17:33

non,
car je ne comprend pas comment récupérer le contenu de ma variable page dans la code html de la page.

...
en fait, le site en question est celui-ci
Je souhaiterais modifier dans le fichier flash, le titre 'Un a.vocat à votre écoute" selon la page concerné. Afin que le titre affich" soit celui de la page surlaquelle on est.


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Lun Jan 23, 2006 18:04

[edit:plus besoin de l'url du zip]
Dernière édition par Photoshop user le Lun Jan 23, 2006 18:13, édité 1 fois.

2fou
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 223
Inscription: Lun Juil 07, 2003 23:50

Message le Lun Jan 23, 2006 18:08

ok, merci bcp
l'exemple a l'air de correspondre.

je testerai ça demain.
Merci encore.


jOoL
WRInaute impliqué
WRInaute impliqué
 
Messages: 468
Inscription: Mer Mai 04, 2005 23:02

Message le Lun Jan 23, 2006 19:18

je connais 3 façons de passer l'url de la page en cours dans un swf:

1. Ma préférée -> via un fichier xml

assez simple à faire, il suffit de générer un fichier xml (via php) dans le quel tu saisis un truc du genre:

Code: Tout sélectionner
<?xml version="1.0"?>
<page><![CDATA[http://www.example.com]]></page>


Tu récupères ensuite la balise xml correspondante dans ton swf.

2. Ma moins préférée
-> via la balise "flashvars"

Encore plus simple, mais tu dois la saisir dans la page html à l'appel du menu flash. Tu dois donc recharger à chaque fois la page pour modifier la valeur.

Tu appelles ton fichier swf comme suit:

Code: Tout sélectionner
<object ...>
<param name="flashVars"  value="pageEnCours=http://www.example.com/&" />
<param ...>
<embed src="url_flash.swf" flashVars="pageEnCours=http://www.example.com/&"
etc... >
</embed>
</object>


3. La plus tendance! Via un javascript que tu mets dans une i-frame dans ta page de base.
Le principe est que l'anim flash écoute le javascript. Le javascript est déclenché par le swf. Il s'execute dans l'iframe, puis renvoie la valeur choisie au swf.

Ceci est également utilisé pour gérer l'historique (retour en arrière) dans les sites full flash. Par-contre, si c'est cette méthode que tu veux utiliser, il faudra me redemander. Je n'ai pas le code sous la main. Je viens de la mettre au point. C'est pas encore tout à fait au point.

Voilà

Pour conclure, en fonction de ton site, si tu utilises déjà des fichiers xml, préfère la 1ère solution. Sinon la 2ème fonctionnera à merveille.


jOoL


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Lun Jan 23, 2006 21:07

v1 : Je vois pas comment c'est applicable dans son cas, le flash ne sais toujours pas dans quel page html il est.

v2 : Je connaissais pas, ca a l'air pas mal. merci de l'info

v3 : les iframes, c'est pas "tendance" pour moi et le javascript ca se desactive..


jOoL
WRInaute impliqué
WRInaute impliqué
 
Messages: 468
Inscription: Mer Mai 04, 2005 23:02

Message le Lun Jan 23, 2006 21:42

Photoshop user a écrit:v1 : Je vois pas comment c'est applicable dans son cas, le flash ne sais toujours pas dans quel page html il est.

si, tu définis la variable en AS en fonction de la balise xml que tu reçois, qui est générée en php en fonction de la page ou on est.

Photoshop user a écrit:v2 : Je connaissais pas, ca a l'air pas mal. merci de l'info

de rien

Photoshop user a écrit:v3 : les iframes, c'est pas "tendance" pour moi et le javascript ca se desactive..

NC. ce qui est tendance, c'est de passer des infos depuis le swf, à l'i-frame qui contient le js, pour les renvoyer au swf. Tout ceci, sans actualiser la page.

JS se désactive, tout comme le plugin flash, tout comme les css. Donc, il ne faut pas s'arrêter là. Enfin à mon sens... après...

;-)

jOoL


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Lun Jan 23, 2006 23:41

jOoL a écrit:si, tu définis la variable en AS en fonction de la balise xml que tu reçois, qui est générée en php en fonction de la page ou on est.


et comment le xml sait quel page html l'appel ? le referer ? (avec le flash, y en a pas je pense). si tu me réponds, c'est le flash qui lui envoi, je rigole :lol:

jOoL a écrit:JS se désactive, tout comme le plugin flash, tout comme les css. Donc, il ne faut pas s'arrêter là. Enfin à mon sens... après...


les gens qui désactivent les css, se compte sur les doigts d'une main. Principalement 1 ou 2 geeks sous lynx et quelques utilisateurs de navigateurs pour déficient visuel ou auditif.

les gens qui ne sont pas capable de lire du flash, d'apres macromédia, c'est pas beaucoup :
http://www.macromedia.com/software/play ... ation.html
on peut les accuser des partials un brin mais bon... - de 2% pour l'europe
en tout cas il y a tous ceux qui désactive les css déjà :idea:

la désactivation du javascript, certains disent 10%, ca me parait beaucoup mais les proportions sont clairement suffisantes pour preferer les autres "v" ;) surtout quand c'est une fonction indispensable à l'utilisation du site web


jOoL
WRInaute impliqué
WRInaute impliqué
 
Messages: 468
Inscription: Mer Mai 04, 2005 23:02

Message le Lun Jan 23, 2006 23:59

bon, On va pas s'énerver :D ;-)

Par-contre j'ai p'tetre pas pris le blême dans le bon sens.

A priori, la v2 est facile, et efficace.

Par-contre, je me rends compte qu'il est possible de faire en sorte que flash détermine quelle page va être chargée. Ben, oui... chaque item du menu flash envoie vers un lien: page1, page2 etc...

Donc au moment du clic, on sait quelle sera la prochaine page appelée, donc on peut appeler le xml correspondant...

T'es pas d'accord?

Photoshop user a écrit:si tu me réponds, c'est le flash qui lui envoi, je rigole :lol:[/quot]

hihi

les gens qui ne sont pas capable de lire du flash, d'apres macromédia, c'est pas beaucoup :
... surtout quand c'est une fonction indispensable à l'utilisation du site web


Oui, c'est juste, mais attention aux versions. La v8 n'est pas encore très répandue.

Et c'est évident que pour les fonctions indispensable du site, il faut prévoir l'alternative !

:wink: en gros on est d'accord quoi. La v2 est la plus simple et la plus fiable dans ce cas de figure.


Photoshop user
WRInaute accro
WRInaute accro
 
Messages: 1037
Inscription: Mer Déc 08, 2004 16:09

Message le Mar Jan 24, 2006 9:53

jOoL a écrit:T'es pas d'accord?


Si, avec des cookies flash. mais la le xml ne sert plus a rien. le flash sait quel item rendre visible ou pas.



jOoL a écrit: :wink: en gros on est d'accord quoi. La v2 est la plus simple et la plus fiable dans ce cas de figure.


ouais en gros :D cool !

buxi
Nouveau WRInaute
 
Messages: 1
Inscription: Mar Aoû 26, 2003 10:38

Message le Mer Mar 08, 2006 14:39

Bonjour,
Je suis bien content d'avoir trouvé ce post.
J'ai moi aussi le même besoin de récupérer une URL dans flash.
Cela fonctionne bien pour moi ... mais pas pour IE, ou bien pas pour FIREFOX.
En gros quand cela fonctionne chez IE, ça ne fonctionne pas pour firefox et inversement... C lourd :)

j'ai ceci d'OK pour firefox :
Code: Tout sélectionner
            <object type="application/x-shockwave-flash" data="../swf/entete.swf?currentpage=<?php echo $_SERVER['PHP_SELF']; ?>" width="881" height="128">
              <param name="movie" value="../swf/entete.swf" />
              <param name="menu" value="false" />
              <param name="quality" value="high" />
            </object>


Et, ceci pour IE :
Code: Tout sélectionner
          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="881" height="128">
              <param name="movie" value="../swf/entete.swf?currentpage=<?php echo $_SERVER['PHP_SELF']; ?>">
              <param name="quality" value="high">
              <embed src="../swf/entete.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="881" height="128"></embed>
          </object>


Je serais bien content d'avoir qques avis la dessus, Merci.


jerkeve
Nouveau WRInaute
 
Messages: 35
Inscription: Ven Juin 11, 2004 10:04

Message le Mer Juil 02, 2008 14:19

:D je déterre ce vieux topic : la seconde méthode marche effectivement a merveille pour récupérer n'importe quelle variable sur la page en cours et la passer en a l'anim Flash de la page : merci JOol !!

Pour que ca fonctionne sou IE et Firefox ET que ce soit valide W3C, utilise ce code (à personnaliser, indeed !) :


Code: Tout sélectionner
<!--[if IE]>
                     <object type="application/x-shockwave-flash" data="../swf/btn_fiche.swf" width="374" height="32" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
                     <param name="flashVars" value="varEnCours=<?php echo $_GET['var']; ?>&" />
                     <img src="../img/noflash.png" alt="si vous souhaitez voir l'animation, veuillez télécharger le plug-in flash" width="374" height="32" />
                     </object>
<![endif]-->

<!--[if !IE]> <-->
                     <object type="application/x-shockwave-flash" data="../swf/btn_fiche.swf" width="374" height="32">
                     <param name="flashVars" value="varEnCours=<?php echo $_GET['var']; ?>&" />
                     <img src="../img/noflash.png" alt="si vous souhaitez voir l'animation, veuillez télécharger le plug-in flash" width="374" height="32" />
                     </object>
<!--> <![endif]-->




jOoL a écrit:je connais 3 façons de passer l'url de la page en cours dans un swf:

2. Ma moins préférée[/b] -> via la balise "flashvars"

Encore plus simple, mais tu dois la saisir dans la page html à l'appel du menu flash. Tu dois donc recharger à chaque fois la page pour modifier la valeur.

Tu appelles ton fichier swf comme suit:

Code: Tout sélectionner
<object ...>
<param name="flashVars"  value="pageEnCours=http://www.example.com/&" />
<param ...>
<embed src="url_flash.swf" flashVars="pageEnCours=http://www.example.com/&"
etc... >
</embed>
</object>


Pour conclure, en fonction de ton site, si tu utilises déjà des fichiers xml, préfère la 1ère solution. Sinon la 2ème fonctionnera à merveille.


jOoL


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités