Avatar billede cecil Nybegynder
14. marts 2005 - 08:33 Der er 16 kommentarer og
3 løsninger

Kan jeg lave en automatisk refresh af min side

Hej venner

Kan jeg lave en automatisk refresh af en siden når jeg komemr ind på den?

Jeg har en side med et script som først virker efter en refresh.
Avatar billede hammerhead Nybegynder
14. marts 2005 - 08:40 #1
Prøv at placere denne i HEAD
<META HTTP-EQUIV="refresh" content="1;>

1 = 1 sekund.
Avatar billede webgon Nybegynder
14. marts 2005 - 08:56 #2
Problemet er at den gentager scriptet i det uendelige, dvs. den opdaterer hert sekund, og det er ret irriterende :D
Avatar billede cecil Nybegynder
14. marts 2005 - 08:57 #3
Jeg har skrevet:
<META HTTP-EQUIV="refresh" content="1";>
og det virker.
Avatar billede cecil Nybegynder
14. marts 2005 - 08:59 #4
Hvad nu hvis jeg ønsker at køre den i slutningen af mit dokument? Kan jeg så kalde den som et script?
Avatar billede skyggen2000 Nybegynder
14. marts 2005 - 09:42 #5
Hvorfor virker dit script kun ved reload?

Måske skal det blot ændres så det eksekveres, når alt HTML'et er renderet?

Hvis ikke det kan lade sige gøre kan du fx. løse det ved at:
Du kan placere et script der eksekveres når siden loades. Dette script tager sidens URL og hæfter en parameter på fx. reloaded=1, og du beder den om at loade den modificerede URL. Når siden loades igen, tjekker du om værdien er sat. hvis den er ved du at siden er reloadet, og at den derfor ikke skal det igen.
Avatar billede cecil Nybegynder
14. marts 2005 - 09:49 #6
Findes der ikke en måde at laveet script som reloader siden?
Avatar billede roenving Novice
14. marts 2005 - 22:21 #7
Sagtens, men det vil jo netop køre hver gang ...

-- måske er det du har brug for:

<script type="text/javascript">
window.onload = function(){
  //den funktion, som aktiverer scriptet, f.eks.
  alert('Siden er loadet');
}
</script>
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 10:33 #8
Prøv med dette script
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 10:33 #9
:) Glemte lige at paste koden

<html>
<script language="javascript">

window.onload = reloadTjeck;

function reloadTjeck()
{    
    if(document.location.search)
    {           
        alert("relaoded")
    }
    else
    { 
          alert("refreshing")
         
        document.location = document.location + "?reloaded=1"       
    }
   
    /*
    Ovenstående er til test.
   
    du behøver kun at have nedenstående to linier i funktionen.   
   
    if(!document.location.search)
        document.location = document.location + "?reloaded=1"       
       
    hvis der er parametre på din URL i forvejen, skal den ikke tilføje et "?",
    da det er der i forvejen, men som en ekstra parameter "&reloaded=1"
   
    Desuden er du nødt til at tjekke om "reloaded" er indeholdt i search strengen inden der reloades.
    */
       
}

</script>

<body>       
   
</body>
</html>
Avatar billede cecil Nybegynder
15. marts 2005 - 13:29 #10
Hej Skyggen.

Hvad mener du hvis der er en parameter på min URL i forvejen?
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 13:33 #11
hvis du har kaldt siden med fx. http:\\test.html?param=1&param_2=2
så har du parametre på din URL. Det er disse den får frem når du benytter
document.location.search

Det får den som en tekststreng.
Avatar billede cecil Nybegynder
15. marts 2005 - 13:40 #12
ok, nu er jeg med. Detgør jeg ikke. Funktionen kaldes med
window.onload = reloadTjeck;

Kan jeg ikke bare kalde reloadTjek som det sidste på min side?
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 13:44 #13
Jo, du kan bare kalde det som det første, læg scripten i din header tag, så bliver det kørt med det samme.
Avatar billede cecil Nybegynder
15. marts 2005 - 13:57 #14
skal jeg så ikke slette
window.onload = reloadTjeck;
?
og så kalde den som det sidste inden </body>?
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 14:02 #15
i stedet for
window.onload = reloadTjeck;

skriv
reloadTjeck();

så kalder du funktionen med det samme scriptet bliver kørt i browseren.
Avatar billede cecil Nybegynder
15. marts 2005 - 15:29 #16
Hej Skygge

Jeg har nu følgende kode.
<script language="javascript">

function reloadTjeck()

{   
    if(document.location.search)
    {           
        alert("relaoded")
    }
    else
    { 
          alert("refreshing")
         
        document.location = document.location + "?reloaded=1"       
    }
   
    /*
    Ovenstående er til test.
    du behøver kun at have nedenstående to linier i funktionen.   
    if(!document.location.search)
        document.location = document.location + "?reloaded=1"       
    hvis der er parametre på din URL i forvejen, skal den ikke tilføje et "?",
    da det er der i forvejen, men som en ekstra parameter "&reloaded=1"
    Desuden er du nødt til at tjekke om "reloaded" er indeholdt i search strengen inden der reloades.
    */     
}
</script>
Avatar billede cecil Nybegynder
15. marts 2005 - 15:32 #17
igen

Som det sidste i mit dokument kalder jeg den så med:
<SCRIPT>reloadTjeck();</SCRIPT>

Det virker næsten som det skal.

I body bliver det kaldt en funktion med
<body onload=spawnDT()>

Det er den som gør at siden skal refresches.

Men den indlæses tilsyneladene efter at siden er læst så det hjælper ikke at jeg kalder den funktion du har lavet.
Avatar billede skyggen2000 Nybegynder
15. marts 2005 - 15:40 #18
som jeg skrev i starten kunne det være man skulle lave din kode om så siden ikke skulle genopfriskes, for det er ikke normalt:)

<SCRIPT>
window.onload=spawnDT;
</SCRIPT>

På denne måde er du sikker på at samtlige elementer er loadet til vinduet índen scriptet eksekveres.
Ellers må du prøve at fyre alt din kode ind på siden her, eller give et link.
Avatar billede skyggen2000 Nybegynder
06. april 2005 - 09:36 #19
Fik du det til at funke?
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