Avatar billede jenz42 Nybegynder
01. juni 2006 - 11:24 Der er 6 kommentarer og
1 løsning

Fra javascriptvariabel til flashvar

Jeg har en javascriptvariabel "GermanChngLanguage", der samler oplysning om adressebaren op og modificerer den lidt. Den er lavet på følgende måde:

<script language="JavaScript">
<!--
var ChngLanguage = self.location.href
var GermanChngLanguage = ChngLanguage.replace("-us.asp", "-d.asp")
//-->
</script>

Den skal så sendes videre til flashfilen med en flashvar. Det virkede rigtig godt indtil for nylig med følgende kode:

<script type="text/javascript">           
document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"985\" height=\"66\" id=\"menuleft\" align=\"middle\">");
document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" />");
document.write("<param name=\"movie\" value=\"/includes/menu/menu-us.swf\" />");
document.write("<param name=\"FlashVars\" value=\"variabel="+GermanChngLanguage+"\" />");
document.write("<param name=\"quality\" value=\"high\" />");
document.write("<param name=\"bgcolor\" value=\"#999999\" />");
document.write("<embed src=\"/includes/menu/menu-us.swf\" FlashVars=\"variabel="+GermanChngLanguage+"\" quality=\"high\" bgcolor=\"#999999\" width=\"985\" height=\"66\" name=\"menuleft\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" swliveconnect=\"true\"/>");
document.write("</object>");
</script>

Men nu er der jo kommet en IE patch, der laver ged i den, når man blandt andet bruger <object></object>.

Derfor skal jeg nu have variablen sendt afsted i følgende kode:

<script type="text/javascript" src="/includes/structure/swfobject.js"></script>
<div id="flashcontent">
  This site has flash content.
</div>
<script type="text/javascript">
  var so = new SWFObject("/includes/menu/menu-us.swf", "menu-us.swf", "985", "66", "7", "#999999");
  so.write("flashcontent");
  so.addVariable("variable1", "value1");
</script>

Hvordan gør jeg det, så det fungerer, der i næstsidste linie?
På forhånd mange tak.
Avatar billede pixelpaw Nybegynder
06. juni 2006 - 13:20 #1
ikke helt sikker, men har du forsøgt at bytte om på write og addVariable?

so.addVariable("variable1", "value1");
so.write("flashcontent");
Avatar billede pixelpaw Nybegynder
06. juni 2006 - 13:22 #2
eller er det mig der misforstår, du vil gerne have ChngLanguage ind i Flash... ?

so.addVariable("ChngLanguage", self.location.href);
Avatar billede jenz42 Nybegynder
06. juni 2006 - 13:26 #3
Jeg har løst det på følgende måde:

<script type="text/javascript" src="/includes/structure/swfobject.js"></script>
<div id="flashcontent_menu">
Text replaced by flash movie
</div>
<script type="text/javascript">

var menu = new SWFObject("/includes/menu/menu-us.swf?variabel=" + GermanChngLanguage, "menu-us.swf", "985", "66", "7", "#999999");
menu.write("flashcontent_menu");

Smid et svar, hvis du gerne vil have pointsene. :D
</script>
Avatar billede pixelpaw Nybegynder
06. juni 2006 - 13:42 #4
Det er også en måde at gøre det på, men så skal du være klar over, at en brugers browser vil reloade hele flashen hvis GermanChngLanguage ændrer sig fra sidste gang brugeren så hjemmesiden.

Bare lige så du ved det :o)
Avatar billede jenz42 Nybegynder
06. juni 2006 - 14:05 #5
OK. Tak for tippet.
Avatar billede pixelpaw Nybegynder
07. juni 2006 - 09:17 #6
Mangler lige at afslutte ;o)
Avatar billede jenz42 Nybegynder
07. juni 2006 - 09:37 #7
OK, nu fatter jeg det. Man skal klikke på navnet først, og så på knappen.
Aaahh. Userbility, der rykker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester