Avatar billede oleg Nybegynder
25. august 2004 - 11:02 Der er 6 kommentarer

random script til flash

Hej.

Jeg skal bruge et lille script der automatisk og gerne helt tilfældigt vælger mellem to forskellige flashfilm når siden indlæses. Det kan være javascript eller php eller noget - det er mindre vigtigt. Nogle forslag?
Avatar billede roenving Novice
25. august 2004 - 11:16 #1
<script type="text/javascript">
var flfilm = new Array();
//Bemærk, der må _ikke_ være linjeskift i en javascript-variabel
flfilm[0] = '<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 height=520 width=780 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="20638"><PARAM NAME="_cy" VALUE="13758"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="film1.swf"><PARAM NAME="Src" VALUE="film1.swf"><PARAM NAME="WMode" VALUE="Opaque"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="0"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE="000000"><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><EMBED src="film1.swf" menu=false quality=high wmode=opaque bgcolor=#000000 WIDTH="780" HEIGHT="520" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'
flfilm[1] = '<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 height=520 width=780 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="20638"><PARAM NAME="_cy" VALUE="13758"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="film2.swf"><PARAM NAME="Src" VALUE="film2.swf"><PARAM NAME="WMode" VALUE="Opaque"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="0"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE="000000"><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><EMBED src="film2.swf" menu=false quality=high wmode=opaque bgcolor=#000000 WIDTH="780" HEIGHT="520" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'

function visFlash(){
  document.getElementById('flashFilm').innerHTML = flfilm[Math.floor(Math.random()*flfilm.length)];
}

<body onload="visFlash()">
<div id="flashFilm" style="height:520px;width:780px;"></div>
</body>
Avatar billede oleg Nybegynder
26. august 2004 - 11:23 #2
Det kan jeg så ikke få til at virke: http://www.kgl-teater.dk/dkt2002/bournonville2005/test_forside/test.html

Er der andre måder eller gør jeg noget forkert?
Avatar billede oleg Nybegynder
26. august 2004 - 11:37 #3
Den her virkede i stedet, fundet på google:

Random Flash Movie Select Script.

This script select a different / random Flash movie each time the page loads.


Place the script below anywhere after the <BODY> Tag.

<script language="JavaScript">

// Generate a Random Number
var randomnumber = Math.round(Math.random()*3);

// Select a movie and execute the corresponding function
if (randomnumber == 1)

{movie1();}

else if (randomnumber == 2)

{movie2();}

else {movie3();}

//Functions to write out the correct flash movie resource.

function movie1(){
document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" width=\"300\" height=\"200\"><param name=movie value=\"movie1.swf\"><param name=quality value=high><embed src=\"movie1.swf\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"200\"></embed></object>")
}

function movie2(){
document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" width=\"300\" height=\"200\"><param name=movie value=\"movie2.swf\"><param name=quality value=high><embed src=\"movie2.swf\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"200\"></embed></object>")
}

function movie3(){
document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" width=\"300\" height=\"200\"><param name=movie value=\"movie3.swf\"><param name=quality value=high><embed src=\"movie3.swf\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"200\"></embed></object>")
}

</script>
Avatar billede roenving Novice
26. august 2004 - 11:37 #4
Du har jo netop de linjeskift i linjerne, som jeg specielt gjorde opmærksom på, ikke måtte være der !-)

I det ovenstående _skal_ _alt_ fra flfilm til og med </OBJECT>' stå på den samme linje uden linjeskift ...

Det vigtige er linje-skiftene, hvordan din kode-editor aktuelt skriver det er ligegyldigt, men hvis du sætter linje-wrapping til at vise linjerne en for en, skal det være i een linje !-)

-- og så skal du have </script> med !o]
Avatar billede roenving Novice
26. august 2004 - 11:38 #5
Hvis du kopierer dette direkte, er den der !-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Random flash test</title>
</head>

<script type="text/javascript">
var flfilm = new Array();
//Bemærk, der må _ikke_ være linjeskift i en javascript-variabel
flfilm[0] = '<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="660" HEIGHT="270" id="splash2_1" ALIGN=""><PARAM NAME=movie VALUE="http://www.kgl-teater.dk/dkt2002/bournonville2005/test_forside/splash2_1.swf"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFF0><EMBED src="http://www.kgl-teater.dk/dkt2002/bournonville2005/test_forside/splash2_1.swf" quality=high bgcolor=#FFFFF0  WIDTH="660" HEIGHT="270" NAME="splash2_1" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'
flfilm[1] = '<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="660" HEIGHT="270" id="splash1_1" ALIGN=""><PARAM NAME=movie VALUE="http://www.kgl-teater.dk/dkt2002/bournonville2005/test_forside/splash1_1.swf"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFF0><EMBED src="http://www.kgl-teater.dk/dkt2002/bournonville2005/test_forside/splash1_1.swf" quality=high bgcolor=#FFFFF0  WIDTH="660" HEIGHT="270" NAME="splash1_1" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>'

function visFlash(){
  num = Math.floor(Math.random()*flfilm.length);
  alert(num);
  document.getElementById('flashFilm').innerHTML = flfilm[num];
}
</script>
<body onload="visFlash()">
<div id="flashFilm" style="height:270px;width:660px;"></div>
</body>
</html>
Avatar billede roenving Novice
26. august 2004 - 12:04 #6
-- og så kan du efter du har testet det, sætte funktionen tilbage til det, den var før:

function visFlash(){
  document.getElementById('flashFilm').innerHTML = flfilm[Math.floor(Math.random()*flfilm.length)];
}
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
Kurser inden for grundlæggende programmering

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