Avatar billede bamzen Nybegynder
27. marts 2002 - 08:52 Der er 5 kommentarer og
2 løsninger

auto popup når der kommer nye beskeder...

Hej....

Jeg synes jeg har noteret at nogle sites har en funktion der fortæller dig at nu er der kommet ny post etc

Som om den bliver trigget af serveren....

Den gammelkendte måde at lave det på, er jo ved at lave en "usynlig" frame der refresher med et givent interval,,, men er der ikkke en smartere måde hvorpå man kan lave et server push?? så man slipper for en masse unødvendige requests fra browseren.

Avatar billede emileej Nybegynder
27. marts 2002 - 08:55 #1
Serveren kan ikke henvende sig til browseren... Du kan bruge frames modellen, åbne en keep-alive forbindelse eller kun checke for ny post, hver gang siden hentes...

E-)mil
http://mdp.eej.dk
Avatar billede bamzen Nybegynder
27. marts 2002 - 09:06 #2
Hvordan åbner man så en keep alive connection, og hvorledes bruges denne???
Avatar billede emileej Nybegynder
27. marts 2002 - 09:22 #3
Jeg har lavet det i php før - det er ret simpelt. Man fjerner simpelthen bare browserens auto time out, og sætter en while løkke igang. Denne while løkke kan så checke efter beskeder, og outputte javascriptet til pop-uppen hvis den finder nye beskeder...

E-)mil
http://mfp.eej.dk
Avatar billede bamzen Nybegynder
27. marts 2002 - 09:50 #4
Har du et eksempel på hvordan det gøres??, referencer til dokumentation for teknikken mv???
Avatar billede horsmark Nybegynder
27. marts 2002 - 10:09 #5
en mulighed for at hente oplysninger fra en db på en server UDEN refresh er vi XMLHTTP. Du kan så via javascript sætte en timer der hvert 20 sekund f.eks. checker om der er nu post - hvis ja pop op osv.

check dokumentationen ud her...
http://www.w3schools.com/xml/xml_http.asp
Avatar billede bamzen Nybegynder
27. marts 2002 - 10:32 #6
Jeg kigger på det senere ;-)
Avatar billede emileej Nybegynder
27. marts 2002 - 11:26 #7
Hvis du vil lave en keep-alive forbindelse i php, kan det gøre således:
ref:
http://www.php.net/manual/en/function.set-time-limit.php
http://www.php.net/manual/en/function.connection-aborted.php

<?php
set_time_limit(0);
echo "<!-- cache fyld: ";
for($i=0;$i<500;$i++)echo "|";    /* Fyld IE's cache op, så det der bliver skrevet, bliver vist med det samme - ikke pænt, men effektivt... */
echo " -->\n";
while(!connection_aborted()){
    if(nyeBeskeder()){
        echo "<script>alert(\"Ny besked!\");</script>\n";
        flush();
    }
}
?>

E-)mil
http://mfp.eej.dk
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