Avatar billede nissetec Nybegynder
01. december 2004 - 14:05 Der er 24 kommentarer og
1 løsning

Automatisk genindlæsning af funktion

Hej

Jeg har en funktion, der hedder
function skriv_stat(textstring) {
parent.frames[0].status=(textstring)
}

Og den kaldes fra body med "onload=skriv_stat('Her skriver jeg noget tekst');"

Således kan jeg nemt skrive noget i Statuslinjen for hver enkelt side.

Men, hvis jeg nu ville indarbejde en rutine, som "blinker" i statuslinjen. Altså noget i retning af:

function skriv_stat(textstring){
if (!document.all)
return
if (parent.frames[0].status==(textstring))
window.status=(" ")
else
parent.frames[0].status=(textstring)
}
setInterval("skriv_stat(textstring)", 500)

Men når jeg prøver, så får jeg undefined i stedet for det, der skal stå i textstring.

Mit spørgsmål er kort og godt: Hvordan kalder jeg en funktion (inde fra sig selv), hvor den medtager den textstring, jeg har angivet i onLoad-kommandoen?

Skriv lige, hvis jeg vrøvler...

Per
Avatar billede roenving Novice
01. december 2004 - 14:14 #1
function skriv_stat(textstring){
if (top.status!="")
  top.status=("");
else
  top.status=textstring;
setTimeout("skriv_stat("+textstring+")",500);
}

-- og der skal vel stå det samme hver gang ?-)
Avatar billede nissetec Nybegynder
01. december 2004 - 14:41 #2
Hej roenving

Ja, det samme hver gang, men når jeg smider dit (i øvrigt meget gode forslag) ind, så får jeg at vide, at tegnet ')' var ventet.

Kan du lige lure den?
Avatar billede roenving Novice
01. december 2004 - 14:43 #3
Har du kopieret nøjagtigt herfra ?-)
Avatar billede nissetec Nybegynder
01. december 2004 - 14:46 #4
Jeps ;)

Bør lige nævne, at jeg i min htm-fil kalder en js-fil, og laver onLoad i htm-filen således
<body onload="detect();skriv_stat('--- Nyheder til denne side vil stå her ---');" onunload="fjern_stat();">

Men jeg har også prøvet at sætte den ind i HEAD rent.

8-)
Avatar billede roenving Novice
01. december 2004 - 14:55 #5
-- i hvilken linje fortæller den om fejlen ?-)

(sæt evt. alerts ind, hvis du ikke får et fornuftigt svar om linjenummeret !-)
Avatar billede nissetec Nybegynder
01. december 2004 - 15:06 #6
linje 1, tegn 24.

(smutter hjem fra arb. nu, så jeg er tilbage om et par timer)
Avatar billede roenving Novice
01. december 2004 - 15:11 #7
-- prøv at indsætte alerts (bl.a. i onload-tingen !-)
Avatar billede olebole Juniormester
01. december 2004 - 21:03 #8
<ole>

roenving glemte et par diminuitive - men helt afgørende - gåseøjne her:
  setTimeout("skriv_stat('"+textstring+"')",500);

/mvh
</bole>
Avatar billede thomas_yde Nybegynder
02. december 2004 - 13:52 #9
mangler der ikke {} i else ?
function skriv_stat(textstring){
if (top.status!="")
  top.status=("");
else{
  top.status=textstring;
  setTimeout("skriv_stat('"+textstring+"')",500);
}
}
Avatar billede roenving Novice
02. december 2004 - 13:54 #10
Næh, der er overflødige () i if-sætningen:

if (top.status!="")
  top.status="";
else{
Avatar billede olebole Juniormester
02. december 2004 - 13:55 #11
Du må gerne skrive den, men så skal den nok sættes korrekt i forhold til den ønskede funktionalitet:

function skriv_stat(textstring){
  if (top.status!="")
    top.status=("");
  else{
    top.status=textstring;
  }
  setTimeout("skriv_stat('"+textstring+"')",500);
}
Avatar billede olebole Juniormester
02. december 2004 - 13:56 #12
*LoooL* den parentes så jeg zq da ikke engang  :D
Avatar billede thomas_yde Nybegynder
02. december 2004 - 15:26 #13
ja nu var det vist bare mig der ikke lagde mærke til at der kun skulle udføres en linje. :P
Avatar billede thomas_yde Nybegynder
02. december 2004 - 15:41 #14
Den her virker ihvertfald hos mig.

<script language="javascript" type="text/javascript">
window.onload = initPage;

function initPage(){
    skrivStat('elle belle');
}

function skrivStat(textstring){
    if(top.status == ""){
        top.status = textstring;
    }
    else{
        top.status = "";
    }
    setTimeout("skrivStat(\'"+textstring+"\')",2000)
}
</script>
Avatar billede thomas_yde Nybegynder
02. december 2004 - 15:43 #15
Så roenving eksempel virker fint nok når man huske som olebole siger at putte på :)
Avatar billede olebole Juniormester
02. december 2004 - 15:47 #16
Du skal ikke escape de enkelte gåseøjne ... blot sådan:

<script language="javascript" type="text/javascript">
window.onload = initPage;

function initPage(){
    skrivStat('elle belle');
}

function skrivStat(textstring){
    if(top.status == ""){
        top.status = textstring;
    }
    else{
        top.status = "";
    }
    setTimeout("skrivStat('"+textstring+"')",2000)
}
</script>
Avatar billede thomas_yde Nybegynder
02. december 2004 - 15:50 #17
ja det ved jeg godt, det var bare en dum refleks :)
så den først bagefter.
Avatar billede nissetec Nybegynder
03. december 2004 - 15:48 #18
hej.

sorry jeg blev væk. havde lige et uheld. jeg har lidt svært ved at bruge den ene arm nu. så jeg tester det snart og vender tilbage. go weekend.
Avatar billede olebole Juniormester
03. december 2004 - 17:38 #19
argh ... fuck! Det lyder zq ikke fedt, men jeg håber, du kommer over det i en fart ... go' bedring  ;o)
Avatar billede nissetec Nybegynder
13. januar 2005 - 12:03 #20
Hej, så er jeg tilbage (må indrømme, at jeg havde glemt jer efter jeg fik det OK igen).

Nå, faktum er, at det virker. Hvem der fik det til at virke, ved jeg ikke. Men de, der vil have point, kan skrive en 5-6000 ord om, hvorfor de føler sig berettiget (GAS!!!). Hvodden gør vi, drenge?

Per
Avatar billede olebole Juniormester
13. januar 2005 - 14:43 #21
'Det er GAS ... I ka' ta' det!' ... Ja det er godt med dig, Stewart  ;D

Jeg fik vist bare rettet lidt på nogle gåseøjne - så fordel du dem blandt de andre  ;o)
Avatar billede thomas_yde Nybegynder
13. januar 2005 - 14:52 #22
jeg tror heller ikke jeg lavede så meget her, så fuld skrue til roenvig.
Avatar billede roenving Novice
13. januar 2005 - 16:58 #23
Jamen, så velbekomme '-)
Avatar billede nissetec Nybegynder
14. januar 2005 - 09:49 #24
"Fortsat god vind i mesanmast-sejlet"
Avatar billede roenving Novice
14. januar 2005 - 10:29 #25
Tak for point ;~}
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