Avatar billede heyn Nybegynder
07. februar 2006 - 09:37 Der er 12 kommentarer og
1 løsning

Kan man kontakte server uden at åbne sider.

Hej Alle
Spørgsmålet er simpelt nok.

Kan man kontakte serveren på anden vis end ved at åbne sider, el. evt. kalde sider uden at vise dem i et vindue?

Årsagen er at jeg har en side hvor der indgår krav om begrænset anvendelse hvis en anden anvender siden.
For at en bruger der har siden åbnet ikke kan blokere den i en evighed skal en opdatering smide brugeren af siden efter 5 min. uden anvendelse.
Jeg har lavet en lille funktion der opdaterer siden siden hvis der ikke har været onkeypress i 5 min.
Så mangler jeg bare en funktion der opdaterer blokeringen af siden hvis der har været været keypress i de sidste 5 min.
Jeg kan selvfølgelig lave en funktion der åbner siden update.php i et nyt vidue og umiddelbart derefter automatisk lukker vinduet igen.
Det virker bare lidt kluntet.

Mvh Christian
Avatar billede fennec Nybegynder
07. februar 2006 - 10:04 #1
Brug setTimeout og clearTimeout funktionerne:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
timeout = window.setTimeout("location='logout.htm'",5000)
function resetTimeOut()
{
  window.clearTimeout(timeout)
  timeout = window.setTimeout("location='logout.htm'",5000)
}
//-->
</SCRIPT>
Avatar billede softspot Forsker
07. februar 2006 - 10:31 #2
...og timeout er naturligvis ikke 5000 (da det er 5 sekunder), men 300000 :)
Avatar billede heyn Nybegynder
07. februar 2006 - 10:42 #3
Jeg forstår ikke helt:

His der forekommer kald til resetTimeOut() så forsinkes opdateringen, men hvordan får serveren den oplysning, så den kan fortælle andre brugere at siden stadig anvendes.
Min ide var noget i stil med at man skrev

function resetTimeOut()
{
  window.clearTimeout(timeout)
  window.showModelessDialog("resettime.php");
  timeout = window.setTimeout("location='index.html'",5000)
}

og i update.php skrev

<?php
Script der opdaterer blokering i DB.
?>
window.close();

Det forekommer mig bare kluntet, og jeg ved ikke om brugeren undgår at se vinduet før det atter lukkes hvis serveren er belastet.
Derfor ville det være rart hvis man kunne køre resettime.php uden at åbne det i et vindue.
Mvh Christian
Avatar billede heyn Nybegynder
07. februar 2006 - 11:07 #4
P.t. når jeg faktisk at se siden i 10 - 20 millisek, men det virker forstyrrende.
Mvh Christian
Avatar billede softspot Forsker
07. februar 2006 - 11:12 #5
Du kan evt. lægge en iframe på din form og så opdatere den efter 5 min, hvis der ikke har været aktivitet. Det er ret usynligt for brugeren af formularen. Alternativt kan du lægge siden i et frameset og skjule den ene frame helt og ellers bruge samme trick som med iframe.
Avatar billede heyn Nybegynder
07. februar 2006 - 11:35 #6
Opdateringen sker faktisk i en iframe.
Du mener altså noget i stil med:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
...
function opdat{frames.opdater.src="update.php";}
...
</SCRIPT>
...
<tr style="display: none"><td>
<iframe name="opdater" target = "_self"></iframe>
</td></tr>

Mvh Christian
Avatar billede softspot Forsker
07. februar 2006 - 12:32 #7
hmm... du kan bruge window.open med navnet på din iframe som anden parameter:

  window.open("resettime.php","opdater");


og så definere din iframe nogenlunde således:

  <iframe name="opdater" style="display:none"></iframe>
Avatar billede heyn Nybegynder
07. februar 2006 - 12:40 #8
Det vil jeg gøre.
Tak skal du have.
Mvh Christian
Avatar billede softspot Forsker
07. februar 2006 - 12:42 #9
Velbekomme (selvom du gav fennec point for det :))
Avatar billede fennec Nybegynder
07. februar 2006 - 13:00 #10
Avatar billede softspot Forsker
07. februar 2006 - 13:01 #11
fennec > tak, men det var vel en deler...?
Avatar billede heyn Nybegynder
08. februar 2006 - 09:57 #12
>> softspot: Sorry det overså jeg. Christian
Avatar billede softspot Forsker
08. februar 2006 - 13:27 #13
np, det sker i kampens hede :)
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