Avatar billede hugopedersen Nybegynder
28. januar 2003 - 11:23 Der er 2 kommentarer og
3 løsninger

Automatisk refresh af side

Jeg har en .ASP side der trækker/viser nogle data fra en tabel på en SQL server - så langt så godt.
Disse data bliver opdateret jævnligt og så var det at jeg godt ville have det sådan at hvis en bruger står på siden i længere tid, så bliver den automatisk opdateret så han får de nyeste data.

Kan man det ?  Hvordan ?
Avatar billede Jman Praktikant
28. januar 2003 - 11:29 #1
det kan man med en refresh i metatags.
Ellers er denne her lidt mere funky - den har en tæller på siden, som fortæller hvornår refresh er næste gang. Man kan selv sætte intervallet:

<script language="JavaScript">
//configure refresh interval (in seconds)
var countDownInterval=240;
//configure width of displayed text, in px (applicable only in NS4)
var c_reloadwidth=200
    </script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2" width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1;
function countDown(){
countDownTime--;
if (countDownTime <=0){
countDownTime=countDownInterval;
clearTimeout(counter)
window.location.reload()
return
}
if (document.all) //if IE 4+
document.all.countDownText.innerText = countDownTime+" ";
else if (document.getElementById) //else if NS6+
document.getElementById("countDownText").innerHTML=countDownTime+" "
else if (document.layers){
document.c_reload.document.c_reload2.document.write('Next <a href="java script:window.location.reload()">refresh</a> in <id="countDownText">'+countDownTime+'  seconds')
document.c_reload.document.c_reload2.document.close()
}
counter=setTimeout("countDown()", 1000);
}
function startit(){
if (document.all||document.getElementById)
document.write('<h6 align="right"><font color="#FFFFFF">Denne side opdateres automatisk om <b id="countDownText">'+countDownTime+' </b> sekunder </font>')
countDown()
}

if (document.all||document.getElementById)
startit()
else
window.onload=startit

    </script>
Avatar billede Slettet bruger
28. januar 2003 - 11:30 #2
Det kan du gøre med HTML:

<META HTTP-EQUIV=Refresh CONTENT="10; URL=side.asp">

Ovenstående sættes ind i din <head>-sektion. 10 angiver antallet af sekunder; side.asp den pågældende ASP-side.
Avatar billede madd Nybegynder
28. januar 2003 - 11:31 #3
Ja, jeg ville anbefale dig at klare det med noget javascript;

<script>
  setTimeout('boing()', 4000);
  function boing()
  {
    document.location.href = 'side.asp';
  }
</script>

Hvor side.asp er din side og 4000 er antal MS der skal gå mellem hver reload.

(Utestet - men burde virke)

/Mattias
Avatar billede hugopedersen Nybegynder
28. januar 2003 - 11:56 #4
Jeg vil afprøve disse lidt senere - fik lige en haster.

Vender tilbage snarest
Avatar billede hugopedersen Nybegynder
28. januar 2003 - 12:50 #5
Alle forslag var gode, men superiors var 'smartest'
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
Kurser inden for grundlæggende programmering

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