Avatar billede fabritius Nybegynder
12. april 2005 - 12:49 Der er 10 kommentarer

Refreshe hvis idle

Kan det lade sig gøre at sætte en side til at refreshe, hvis der ikke har været klikket på noget i fx. 2 minutter?
Avatar billede dbangx Nybegynder
12. april 2005 - 13:00 #1
der er vel ikke nogen grund til at lave det i javascript?!?
Kan du ikke bare bruge den her?
<META HTTP-EQUIV="Refresh" CONTENT="120;URL=http://www.some.org/some.html">
Avatar billede fabritius Nybegynder
12. april 2005 - 13:06 #2
Refresher den ikke bare siden efter 120 sekunder? Der skal også checkes på om siden er inaktiv.

Jeg kender ikke en måde at gøre det via meta-tags, så derfor tænkte jeg at JS måtte være vejen frem.
Avatar billede fabritius Nybegynder
12. april 2005 - 13:09 #3
Jeg må hellere lige uddybe det lidt. Hvis brugeren er ved at læse noget tekst og derfor scroller op og ned skal siden ikke refreshes.
Avatar billede dbangx Nybegynder
12. april 2005 - 13:17 #4
Du kan bruge setTimeout til at kalde en funktion efter et bestemt antal millisekunder. Når funktionen kaldes kan du jo så gøre hvad du har lyst til.

du skal faktisk bare vide efter tiden er gået om der har været aktivitet i de sidste to minutter og så handle ud fra det.
Avatar billede thesurfer Nybegynder
12. april 2005 - 17:05 #5
Du skal nok bruge en variabel, og document.onclick ..
klik i dokumentet = aktivitet = ingen reload

du bruger så setTimeOut med 120 sekunders intervaller..
hvis variablen er sat (brugeren har klikket i dokumentet), skal din funktion (i setTimeOut) nulstille variablen..
Avatar billede roenving Novice
12. april 2005 - 17:07 #6
Men onscroll leder man forgæves efter en hel masse steder ...
Avatar billede thesurfer Nybegynder
12. april 2005 - 17:07 #7
Findes onscroll overhovedet..?
Avatar billede thesurfer Nybegynder
12. april 2005 - 17:23 #8
Eksempel:

<script type="text/JavaScript">
var klik = 0;

function checkklik()
{

if (klik == 0) {
    //window.location.reload(true);
    alert("reload");
} else {
    klik = 0;
}

}

function setklik()
{
klik=1;
}

document.onclick=setklik();
setInterval("checkklik()", 5000);
</script>


Jeg mener at man kan bruge document.onclick=new function("klik=1"); eller document.onclick=new function{klik=1}; .. men kan ikke få det til at virke
Avatar billede roenving Novice
12. april 2005 - 17:36 #9
Tjah, onscroll findes ifølge min reference fra IE4, men ikke andre steder, men den har jeg ikke kigget efter, da det jo er ubrugeligt, når det er en M$-only ting ...
Avatar billede olebole Juniormester
12. april 2005 - 17:44 #10
<ole>

Jeg har ikke lige tid til at lede, men jeg ved da i det mindste, at onscroll-event'en fyres af i både IE, Opera og Geckos  :)

/mvh
</bole>
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