Forum de discussion
Forum « Programmation Javascript » (archives)
Pb de passage de variable
Envoyé: 12 août 2004, 5h33 par cacod
Il se trouve qu'il est concu essentiellement en flash et, pour des raisons de réferencement et de simplicité de navigation, toute application flash est appelée par une page html qui lui est dédiée.
Se pose maintenant le problème de traduction... et surtout de la continuité de la langue avec le passage de ce paramètre de l'url du html au flash...
J'ai utilisé des fonctions javascript et depuis ça marche parfaitement sous IE et Opéra mais pas moyen sous netscape ni Modzilla Firefox...
J'utilise une bibliothèque JS
Voici mon code de départ:
---fonctions ds ma page html---
<SCRIPT LANGUAGE="javaScript">
<!--
function OuvFen(page,taille) {
mafen = window.open(page,"mafenetre",taille);
}
function PassFlash(){
window.document.home.SetVariable("lang",""+QueryString("lang"));
}
//-->
</SCRIPT>
---appel du swf---
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
WIDTH=100% HEIGHT=100%
name="home" id="home">
<PARAM NAME=movie VALUE="../swf/home.swf">
<PARAM NAME=quality VALUE=autohigh>
<PARAM NAME=bgcolor VALUE=#000000>
<EMBED src="../swf/home.swf"
quality=autohigh
bgcolor=#000000
WIDTH=100% HEIGHT=100%
TYPE="application/x-shockwave-flash"
name=home
swLiveConnect=true
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</EMBED>
</OBJECT>
---appel de la bibliothèque---
<SCRIPT LANGUAGE="javascript" SRC="../JS/querystring.js">
</SCRIPT>
-------------------------------
---biblio JS---
QueryStringkeys = new Array();
QueryStringvalues = new Array();
function QueryString(key)
{
var value = null;
for (var i=0;i<QueryStringkeys.length;i++)
{
if (QueryStringkeys[i]==key)
{
value = QueryStringvalues[i];
break;
}
}
return value;
}
function QueryString_Parse()
{
var query = window.location.search.substring(1);
var pairs = query.split("&");
for (var i=0;i<pairs.length;i++)
{
var pos = pairs[i].indexOf('=');
if (pos >= 0)
{
var argname = pairs[i].substring(0,pos);
var value = pairs[i].substring(pos+1);
QueryStringkeys[QueryStringkeys.length] = argname;
QueryStringvalues[QueryStringvalues.length] = value; }
}
}
Help... je m'enterre dans le javascript, j'ai essayé de contourner le pb en utilisant l'appel du flash en javascript avec la fonction doument.write("..."); et l'application flash appelée se bloque...
je vous joint mon deuxième bout de code concerné:
document.write(
"<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"+
" codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"+
" WIDTH=100% HEIGHT=100%"+
" name=reasons id=reasons>"+
" <PARAM NAME=movie VALUE=reasons.swf?"+
"server="+QueryString("lang")+
">"+
" <PARAM NAME=menu VALUE=false>"+
" <PARAM NAME=quality VALUE=high>"+
" <PARAM NAME=scale VALUE=exactfit>"+
" <PARAM NAME=bgcolor VALUE=#FFFFFF>"+
" <EMBED src=reasons.swf?"+
"lang="+QueryString("lang")+
" menu=false"+
" quality=high"+
" scale=exactfit"+
" bgcolor=#FFFFFF "+
" WIDTH=100% HEIGHT=100%"+
" TYPE=application/x-shockwave-flash"+
" PLUGINSPAGE=http://www.macromedia.com/go/getflashplayer>"+
" </EMBED>"+
"</OBJECT>"
);
J'espere avoir été assez claire, et merci d'avance.
Réponses
|