Avatar billede madx Nybegynder
25. januar 2001 - 22:00 Der er 9 kommentarer og
2 løsninger

forsinke aktivering af script

Jeg har følgende lille script liggende øverst på en række content-sider, som en del af et frameset (for at den enkelte contentside ikke ses uden for framesettet)

if (top.location.href.indexOf(\"index.htm\") == -1)
  top.location.href = \"../index.htm\";

Jeg vil gerne kunne forsinke aktiveringen af scriptet således at siden starter med at blive indlæst i browseren, f.eks. 1-1,5 sek.

Jeg ønsker ikke at benytte redirect i meta-koderne.

Mvh.
Avatar billede jumper Nybegynder
25. januar 2001 - 22:05 #1
function videre(){
  if (top.location.href.indexOf(\"index.htm\") == -1)
    top.location.href = \"../index.htm\";
}

setTimeout(\"videre()\",1500); // Udfør funktionen videre om 1,5 sekunder

/Thor
Avatar billede lp Nybegynder
25. januar 2001 - 22:06 #2
har du prøvet med timer(10); imellem de 2 linjer?
Avatar billede lp Nybegynder
25. januar 2001 - 22:06 #3
nå, ok, det var bare lige et gæt, he he :-)
Avatar billede madx Nybegynder
25. januar 2001 - 22:16 #4
Ja, det ser jo fornuftigt ud - tænkte nok det var for enkelt

Får ikke lige panglet mere med det i aften

Lille tillægsspgm - er det vilkårligt hvor jeg sætter setTimeout(\"videre()\",1500); ind?

vil helst have det kaldet af scriptet så sent i indlæsningen af htmlkoden som muligt
Avatar billede jumper Nybegynder
25. januar 2001 - 22:17 #5
Det er vilkårligt hvor du indsætter setTimeout(\"videre()\",1500) , det eneste koden gør er at sige \"om 1500 millisekunder (1,5sek) udfører jeg funktionen videre()\"

Du kan selvf. ændre tallet 1500 helt efter behov ;)

/Thor
Avatar billede lp Nybegynder
25. januar 2001 - 22:17 #6
kald den i din body med dette tag:
<body onload=\"setTimeout(\"videre()\",1500);\">

som medfører at scriptet først tæller når siden er loadet HELT af brugeren!
Avatar billede jakoba Nybegynder
26. januar 2001 - 22:54 #7
Hvis formålet med forsinkelsen blot er at få sidens data loade til cashe kan du nøjes med
<body onload=\"videre();\">
Avatar billede madx Nybegynder
27. januar 2001 - 12:10 #8
Det er sådan se ok blot at få loadet til cacheen - og det virker fint med onload=\"videre();\"> i slutningen...

Men når jeg sætter forsinkelses-koden ind virker det ikke. Prøv lige og tage et kig på koden

<SCRIPT LANGUAGE=\"JavaScript\">
<!--

  function videre(){
  if (top.location.href.indexOf(\"index.htm\") == -1)
    top.location.href = \"../../index.htm\";
} 

// -->
</SCRIPT>

</head>

<body bgcolor=\"#FFFFFF\" topmargin=0 leftmargin=0 marginWidth=\"0\" marginHeight=\"0\" onload=\"setTimeout(\"videre()\",1500);\">
Avatar billede jakoba Nybegynder
27. januar 2001 - 13:12 #9
Det burde virke. Har du checket det indlysende? eg:
Din index fil hedder virkelig index.htm (unden l).
Den loadede fil er virkelig 2 undermapper højere oppe i træet.
Den loadede fil hedder ikke *index.htm* . Testen finder fx også index.html
Avatar billede stringbuffer Nybegynder
27. januar 2001 - 18:03 #10
problemet skyldes din brug af \"
prøv med
<body bgcolor=\"#FFFFFF\" topmargin=0 leftmargin=0 marginWidth=\"0\" marginHeight=\"0\" onload=\"setTimeout(\'videre()\',1500)\">
Avatar billede madx Nybegynder
22. februar 2001 - 09:12 #11
Beklager den forsinkede uddeling af point, efter sol&vind&brugbarheds-pricippet
- de kommer her...:-)

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