Avatar billede kalleballe Nybegynder
18. december 2002 - 13:21 Der er 22 kommentarer og
1 løsning

Send variabler med fra et html link

jeg har en flash film der skal have et parameter med udefra det link der kalder flash filen.

ex:

<a href="flash.swf">klik her</a>

Jeg vil gerne sende fx: farve=brun med til flash filen.

Noget i stil med flash.swf?farve=brun elign?

Men jeg kan ikke få det til at virke.

Altså hvordan sender man en variabel IND i en swf fil fra et eksternt html link?



vh

KalleBalle
Avatar billede pyroman Nybegynder
18. december 2002 - 13:49 #1
Jeg tror du skal hsende denne variabel gennem et PHP-script og hente den med flash's funktion:

loadVariables ("script.php");
Avatar billede nikolajdu Nybegynder
18. december 2002 - 13:57 #2
Hvis du vil bruge et almindeligt link uden at reloade siden, så vil det kun virke i IE.
Avatar billede nikolajdu Nybegynder
18. december 2002 - 13:57 #3
Er det interessant?
Avatar billede kalleballe Nybegynder
18. december 2002 - 14:00 #4
IE er ok, - men hvordan gør jeg helt præcis?
Avatar billede nikolajdu Nybegynder
18. december 2002 - 14:10 #5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>

<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=300 HEIGHT=200 NAME=movie>
<PARAM NAME=movie VALUE="realControl.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#000066>

<EMBED src="realControl.swf" quality=high bgcolor=#000066  WIDTH=300 HEIGHT=200 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>

<a href="#" onclick="window.document.movie.SetVariable('farve', 'brun');">farve brun du</a>

<a href="#" onclick="window.document.movie.SetVariable('farve', 'blaa');">farve bl&aring; du</a>

Du skal alts&aring; huske at tilf&oslash;je name=movie i object koden

</body>
</html>
Avatar billede kalleballe Nybegynder
18. december 2002 - 14:17 #6
mange tak for hjælpen :-)
Avatar billede nikolajdu Nybegynder
18. december 2002 - 14:18 #7
No problemos Amigo :)
Avatar billede nikolajdu Nybegynder
18. december 2002 - 14:19 #8
Og så lige sorry for mine &aring; - Det er fordi jeg som regel skriver min tekst i homesite.... :))
Avatar billede kalleballe Nybegynder
18. december 2002 - 15:16 #9
Kan du også sige mig hvordan man får det til at virke hvis linket ikke er på samme side som objectet?

altså en html side med et link der f.eks. så åbner flash filmen op i en pop up?
Avatar billede nikolajdu Nybegynder
18. december 2002 - 15:23 #10
Åben med :

du = window.open('side.html','du','width=300,height=400')

Så kan du bruge :

<a href="#" onclick="document.du.document.movie.SetVariable('farve', 'blaa');">farve bl&aring; du</a>
Avatar billede kalleballe Nybegynder
18. december 2002 - 15:36 #11
Hvor sætter jeg den du var?
Avatar billede nikolajdu Nybegynder
18. december 2002 - 16:22 #12
<script>
function openDu(){
du = window.open('side.html','du','width=300,height=400')
}
</script>

Kan så kaldes med :

<a href="#" onclick="openDu();return false">link makker</a>

eller

getURL("java script:openDu()");
Avatar billede kalleballe Nybegynder
18. december 2002 - 17:19 #13
tak du er en knag ;-)
Avatar billede kalleballe Nybegynder
18. december 2002 - 17:33 #14
<script>
function openDu()

{
du = window.open('side.html','du','width=300,height=400')

}
</script>

<a href="#" onclick="openDu();return false">link makker</a>

hva så med

<a href="#" onclick="document.du.document.movie.SetVariable('farve', 'blaa');">farve bl&aring; du</a>

skal jeg bare gøre således:

<a href="#" onclick="openDu();return false;document.du.document.movie.SetVariable('farve', 'blaa');">link makker</a>


eller?
Avatar billede nikolajdu Nybegynder
18. december 2002 - 18:43 #15
Skal linket åbne både vinduet og ændre farve???
Avatar billede nikolajdu Nybegynder
18. december 2002 - 18:45 #16
Det bliver straks værre.

Hvis du åbner vinduet med samme knap er du nødt til at sætte en timeout før du kan ændre farven i vinduet.

Hvorfor? Jo fordi det tager noget tid at hente vinduet. Værre er det så at vi ikke kan få en klarmelding fra vinduet før hele flashen er hentet. HEr ville jeg gå en helt anden vej rundt og scripte variablen ind i stedet.

/Nikolaj
Avatar billede nikolajdu Nybegynder
18. december 2002 - 18:50 #17
Sådan her faktisk.

<html>
<head>

<SCRIPT TYPE="text/javascript">

n = new String(this.location);
split = n.split("?");
n = new String(split[1]);
split = n.split("&");
getvar = new Object();
for(i=0; i < split.length; i++){
n = new String(split[i]);
vaerdi = n.split("=");
getvar[vaerdi[0]] = vaerdi[1];
}

if(n!="undefined"){
farven = vaerdi[1]
}
</SCRIPT>

</head>
<body>
<script>


// IE lines

    document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,0,0" WIDTH=550 HEIGHT=400>');
    document.write('<PARAM NAME=movie VALUE="insertBrowserVars.swf?farve='+farven+'">')
    document.write('<PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF>')

// Netscape lines

document.write('<EMBED src="insertBrowserVars.swf?farve='+farven+'" quality=high bgcolor=#FFFFFF  WIDTH=550 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');

// End object code

document.write('</OBJECT>');

</script>

</body>
<html>

Det kalder du så fra dit andet vindue med :

<script>
function openDu(side){
du = window.open(side,'du','width=300,height=400')
}
</script>

Kan så kaldes med :

<a href="#" onclick="openDu('side.html?n=brun');return false">brun makker</a>
<a href="#" onclick="openDu('side.html?n=blaa');return false">blå du</a>

/Nikolaj
Avatar billede nikolajdu Nybegynder
18. december 2002 - 18:51 #18
Læg mærke til at jeg har kaldt farve-variablen for 'n' - Mest fordi det passede ind i det script jeg havde i forvejen. Skift det selv ud, men husk at gøre det alle steder.

/Nikolaj
Avatar billede nikolajdu Nybegynder
18. december 2002 - 18:52 #19
Og så virker det faktisk i alle 4+ browsere - Se nu ligner det jo noget.

Måske var det derfor jeg spurgte første gang ;-)
Avatar billede kalleballe Nybegynder
19. december 2002 - 10:14 #20
tak igen igen
Avatar billede kalleballe Nybegynder
19. december 2002 - 10:21 #21
jeg kan ikke få det til at virke :-(  du får lige min kode...

linkside:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>linksiden</title>
   
<script>
function openDu(side){
du = window.open(side,'du','width=300,height=400')
}
</script>
</head>

<body>





<a href="#" onclick="openDu('side.html?farve=brun');return false">brun makker</a>
<a href="#" onclick="openDu('side.html?farve=blaa');return false">blå du</a>


</body>
</html>


flashsiden:

<html>
<head>

<SCRIPT TYPE="text/javascript">

farve = new String(this.location);

split = farve.split("?");

farve = new String(split[1]);

split = farve.split("&");

getvar = new Object();


for(i=0; i < split.length; i++)

{
    farve = new String(split[i]);
    vaerdi = farve.split("=");
    getvar[vaerdi[0]] = vaerdi[1];
}

if(farve!="undefined")

{
    farven = vaerdi[1]
}



</SCRIPT>

</head>



<body>


<script>


// IE lines

    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=300 HEIGHT=400>');

    document.write('<PARAM NAME=movie VALUE="insertBrowserVars.swf?farve='+farven+'">')
    document.write('<PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF>')

// Netscape lines

document.write('<EMBED src="insertBrowserVars.swf?farve='+farven+'" quality=high bgcolor=#FFFFFF  WIDTH=300 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');

// End object code

document.write('</OBJECT>');

</script>

</body>
</html>



og så har jeg et dynamisk tekstfelt i flash filmen hvor var hedder farve

Men der kommer ingenting i flashfilmen...
Avatar billede kalleballe Nybegynder
19. december 2002 - 11:12 #22
AHHHAAAA!!!!

Det virker hvis jeg bruger FlashVars.... og den er ok med flash MX so heres ze kode:

<script>


// IE lines


    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=300 HEIGHT=400>');

    //alert("farven = " +farven);
   
    document.write('<PARAM NAME=FlashVars VALUE="farve='+farven+'">');
    document.write('<PARAM NAME=movie VALUE="insertBrowserVars.swf">');
    document.write('<PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF>');

// Netscape lines

    document.write('<EMBED src="insertBrowserVars.swf" FlashVars="farve='+farven+'" quality=high bgcolor=#FFFFFF  WIDTH=300 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>');

// End object code

    document.write('</OBJECT>');

</script>
Avatar billede nikolajdu Nybegynder
19. december 2002 - 13:06 #23
src="insertBrowserVars.swf?farve='+farven+'"

SKAL virke.
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