Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2007, 01h51   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 1
Points : 0
Points : 0
Par défaut probleme avec flash et php

Bonjour,
Voila j'ai décidé de creer un bouton en flash pour remplacer le bouton.gif qui était sur mon forum.
Mais le proble ce pose qu'il y a des balise de lien or le flash ne tiens pas compte de c'est balise, ce ci dit ce n'est un probleme pour autant je sais qu'il existe la commande
on(press)
{
geturl(....)
}
mais dans l'adresse que le forum me demande il existe des variable php je vous donne toute c'est information

url : '<a href="' . ajout_sid('poster.php?mode=nouveau_sujet&forum=' . $forum_id) . '">'

$forum_id = intval($HTTP_GET_VARS['forum']);

je cherche désésperament une solution a ce probléme je vous en remercie d'avance de me donner une solution si il en existe.
zeran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 07h26   #2
Membre éprouvé
 
Avatar de Destiny
 
Inscription : février 2005
Messages : 716
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 716
Points : 494
Points : 494
si tu mets ton animation dans un <a href=""></a> ca marche pas? (jamais essayé).
Destiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 09h28   #3
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 18
Points : 18
Points : 18
1) sous IE tu as un blocage automatique du contenu actif, qui t'oblige à cliquer une première fois pour autoriser le flash. pour un bouton ca veut dire qu'il faut cliquer 2 fois pour qu'il opère.
Donc la solution est de "tricher" avec IE, en générant le code html de déclaration de ton objet flash en javascript. je te donne plus bas le source d'une fonction JS qui est réutilisable.

2) pour passer des arguments à ton anim flash, utilise les flashvars, ma fonction javascript citée plus haut est prévue pour.

les flashvars permettent de passer des paramètres de la forme "titi=truc&tata=bidule" à flash. côté actionscript, tu y accèdes par les variables _root.titi, _root.tata etc...
Code :
1
2
3
on(press) {
  geturl(_root.urlClic); // où url sera passée par flashvars
}
donc ajouter le fichier runflash.js qui suit
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function writeParam(nom, valeur) {
    document.write("<param name=\"" + nom + "\" value=\"" + valeur + "\" />\n");
}
function runFlash(url, w, h, flashVars) {
    document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" ");
    document.write("width=\"" + w + "\" height=\"" + h + "\" align=\"middle\">\n");
    writeParam("movie", url);
    writeParam("menu", "false");
    writeParam("quality", "high");
    writeParam("wmode", "transparent");
    writeParam("bgcolor", "white");
    if (flashVars != "") {
        writeParam("FlashVars", flashVars);
    }
    document.write("<embed src=\"" + url + "\" menu=\"false\" quality=\"high\" bgcolor=\"white\" ");
    if (flashVars != "") {
        document.write("FlashVars=\"" + flashVars + "\" ");
    }
    document.write("width=\"" + w + "\" height=\"" + h + "\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n");
    document.write("</object>\n");
}
donc dans ton html il faut importer ce script :
Code :
1
2
<head>(...)
<script src="runflash.js" language="javascript"></head>
enfin, à l'endroit où tu veux placer ton bouton :
Code :
1
2
3
4
5
 
<...>
<script language="javascript">
  runFlash('bouton.swf','930','550','urlClic=<?php echo ajout_sid('poster.php?mode=nouveau_sujet&forum=' . $forum_id); ?>');
</script>
930 = largeur du bouton, 550= largeur... tu mets ce que tu veux

en plus de supprimer le besoin de cliquer une premiere fois, ma fonction javascript allège l'écriture du code (c'est moins lourd que "object embed etc")

voila.
une application typique des flashvars serait de passer en argument le libellé du bouton, ainsi tu peux avec un meme swf faire tous tes boutons.
(utilisation d'un texte dynamique dans le fla, associé à _root.quelquechose)
samuel_L est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h37.


 
 
 
 
Partenaires

Hébergement Web