Avatar billede unclefuckers.dk Nybegynder
31. januar 2001 - 16:09 Der er 20 kommentarer og
1 løsning

random / eksport af variabel

Jeg ønsker at bruge nedenstående script til at vise en tilfældig side i min ene frame når en bruger kommer til min side. Først og fremmest kan jeg nævne at jeg ikke ved om det virker (har det fra script.dk). men jeg ønsker altså at bruge variablen s uden for scriptet
(lidt ligesom function():string i delphi??)
i linien
<frame name=\"main\" src=\"(var s)\">

hvordan henviser jeg til denne variabel uden for scriptet?

<script language = \"javascript\">
joke=Math.round(Math.random()*2)+1
if (joke==1){
var s=\"j1.htm\"}
if (joke==2){
var s=\"j2.htm\"}
if (joke==3){
var s=\"j3.htm\"}
</script>

Er der evt. en nemmere måde at gøre det på?
Avatar billede emileej Nybegynder
31. januar 2001 - 16:57 #1
Du bruger:

<frame name=\"main\" src=\"getJoke.html\">

I getJoke.html skriver du så:

...
<body onload=\"document.location=top.NavnPåDinFrameMedVariablen.joke;\">
...

Så nemt er det :)

E-)mil
Avatar billede nixen Nybegynder
31. januar 2001 - 20:14 #2
jep, men du skal da bare lige være opmærksom på at det script du har lavet har en normalfordeling hvor joke2 kommer dobbelt så ofte som joke1 og joke 3... brug

joke=Math.ceil(Math.random()*3)

istedet for..
..og for at få onload-handleren til at fungere kan du f.eks. skrive
<BODY onload=\'top.frameNavn.location.href=\"http://min.side.dk/joke\"+Math.ceil(Math.random()*3)+\".htm\"\'>

det der muligvis ikke ligeså nemt ud, til gengæld virker det ;-)
Avatar billede nixen Nybegynder
31. januar 2001 - 20:15 #3
..og der sneg sig vist lige et semikolon for meget ind før \'+Math.ceil(\'
Avatar billede unclefuckers.dk Nybegynder
31. januar 2001 - 23:10 #4
Tak for tilbagemeldingerne...
Et hurtigt kig på sagen (har et ret stramt skema for tiden) har resulteret i følgende filer:
www.unclefuckers.dk/index_ny.htm
www.unclefuckers.dk/getjoke.htm
www.unclefuckers.dk/j1.htm
www.unclefuckers.dk/j2.htm
www.unclefuckers.dk/j3.htm
Kan I komme med kommentarer til det vil det være alletiders.. Takker (o;
hilsen en newbee
Avatar billede emileej Nybegynder
01. februar 2001 - 21:39 #5
Ja - det virker ikke *gg*
Avatar billede emileej Nybegynder
01. februar 2001 - 21:40 #6
\"Siden kan ikke findes\" på www.unclefuckers.dk/index_ny.htm - check, at du ikke har angivet stien til joken på din pc\'er :)

www.unclefuckers.dk/getjoke.htm - JavaScript fejl...

E-)mil
Avatar billede unclefuckers.dk Nybegynder
02. februar 2001 - 18:55 #7
I kan jo selv se kildekoden...
Kan I se hvad der er galt?
Avatar billede jakoba Nybegynder
02. februar 2001 - 20:04 #8
Desværre, vi kan ikke se kildekoden.

Not Found
The requested URL /getjoke.html was not found on this server.
Avatar billede jakoba Nybegynder
02. februar 2001 - 20:12 #9
men i  getjoke.htm (uden l) fandt jeg:
<BODY onload=\'top.main.location.href=\"<A target=_blank j\"</A>+Math.ceil(Math.random()*3)+\".htm\"\'>

der må ikke komme HTML tags ind i javascript linier. prøv istedet:
<BODY onload=\'top.main.location.href= eval(\"j\"+Math.ceil(Math.random()*3)+\".htm\");\'>

mvh JakobA
Avatar billede unclefuckers.dk Nybegynder
02. februar 2001 - 23:59 #10
Takker Jacob!
Har nu tilføjet dit ændringsforslag... den siger at j1(, 2 eller 3) er  undefined...
Avatar billede jakoba Nybegynder
03. februar 2001 - 01:09 #11
Hmm    j1.htm    Ja det er jo et javascript objekt med en property. Den eval var dum.
væk med den:
<BODY onload=\'top.main.location.href= \"j\"+Math.ceil(Math.random()*3)+\".htm\";\'>
Avatar billede unclefuckers.dk Nybegynder
04. februar 2001 - 16:02 #12
Så har jeg kigget lidt på det igen...
stadig en undefined-fejlmelding...
Avatar billede jakoba Nybegynder
04. februar 2001 - 16:13 #13
I din fil  www.unclefuckers.dk/getjoke.htm  står der stadig 
eval(                                                                )          rundt om
        \"j\"+Math.ceil(Math.random()*3)+\".htm\"
Avatar billede jakoba Nybegynder
04. februar 2001 - 16:21 #14
de der    target=\"xxxxx\"    du har i dine frame tags hører ikke hjemme der.
Pil dem ud, der er til link tags, ikke her.
Ditto med bgcolor=\"#000000\" , den bør ligge i body tag-en på de filer der loades.
    <frame name=\"top\" src=\"top.htm\">
    <frame name=\"main\" src=\"getjoke.htm\">

mvh JakobA
Avatar billede unclefuckers.dk Nybegynder
04. februar 2001 - 17:09 #15
upz... jeg manglede vist at uploade (o;
Tak for hjælpen.. det har været lærerigt!
Avatar billede unclefuckers.dk Nybegynder
04. februar 2001 - 17:20 #16
forresten.. for hver ny joke jeg laver kalder jeg den vel bare j4 osv. og sættter x i (math.random()*x)en op... kan jeg fortsætte med det eller er der en begrænsning?
Avatar billede nixen Nybegynder
04. februar 2001 - 17:47 #17
nope, ingen begrænsning
Avatar billede emileej Nybegynder
04. februar 2001 - 19:28 #18
Hmmm... Hov! Hva!? Var Nixen\'s og mit svar ikke godt nok?
Avatar billede unclefuckers.dk Nybegynder
04. februar 2001 - 21:03 #19
Tak for hjælpen, men det var jakoba, der hjalp mig frem til en løsning, der virkede... (o;
Avatar billede jakoba Nybegynder
04. februar 2001 - 22:15 #20
unclefuckers.dk >> Ja Ja, med det navn kan man vel ikke forvente du har indsigt i de ekspertens højt kultiverede etiketteregler :-)))  Det var et ret meget fællessvar hvor vi supplerede hinanden så vi bør deles om pointsene.

emileej, nixen >> se spgm på fri debat om et øjeblik.
Avatar billede unclefuckers.dk Nybegynder
04. februar 2001 - 22:40 #21
emileej, nixen og jakoba:
kig forbi:
http://www.eksperten.dk/spm/47925
samt jakoba\'s 47915
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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