Avatar billede fireworld Nybegynder
21. februar 2001 - 08:38 Der er 4 kommentarer og
1 løsning

REAL TIME OPDATERING!!!

Hmmm!!!! jeg har en chat hvor jeg gerne vil have den til at opdatere \"rEAL TIME\".... men kan ikke få dette script til at virke

<script language=\"JavaScript\">
    var currentpos=0,alt=1,curpos1=0,curpos2=-5
    function scrollwindow(){
        if (document.all)
            temp=document.body.scrollbuttom
        else
            temp=window.pageYOffset
        if (alt==0)
            alt=5
        else
            alt=5
        if (alt==5)
            curpos1=temp
        else
            curpos2=temp
        if (curpos1!=curpos2){
            if (document.all)
                currentpos=document.body.scrollTop+5
            else
                currentpos=window.pageYOffset+5
            window.scroll(0,currentpos)
        }
    }
    function startit(){
        setInterval(\"scrollwindow()\",1)
}
startit();
</script>

Nogen der ved hvordan man gør?
Avatar billede jakoba Nybegynder
21. februar 2001 - 09:17 #1
du skriver
    setInterval(\"scrollwindow()\",1)
for at få funktionen til at køre hver 1/1000 del sekund.

Så hurtigt er javascript ikke. så resultatet af det vil være at funktionen scrollwindow() bliver kald igen før den har nået at køre færdig. og så igen, etc.

Hvis scriptet skal have en chance skal du gøre intervallet en god del længere. fx:
setInterval(\"scrollwindow()\",50)
det er stadig tit nok til at det \"føles\" som realtime, og så har javascript en chance for at følge med.

I scrollwindow() ser det ud til at du beregner en absolut Y-koordinat og så prøver at scrolle derhen med window.scroll(0,Y). Det burde nok være
window.scrollTo(0,Y). en anden mulighed (siden der scrolles med 5 hver gang) er at sige window.scrollBy(0,5).

mvh http://www.fotx.net/JakobA
Avatar billede fireworld Nybegynder
21. februar 2001 - 10:55 #2
Jeg kan sq ikke få den til at opdatere!!!! altså det er meningen den skal opdatere min side hvor scriptet er langt på ..... har du ikke ICQ???


mvh MAds


uin : 70173175
Avatar billede jakoba Nybegynder
21. februar 2001 - 11:39 #3
Nix. aldrig ICQ til mig (det går for hurtigt til at jeg kan nå at tænke).

kan du vente lidt, men jeg leget med det?
Avatar billede fireworld Nybegynder
21. februar 2001 - 11:44 #4
Ja selvføgelig!!!!! håber bare jeg får det til at virke :)

fordi jeg bruge denne her kommado til at opdatere nu
<meta http-equiv=\"refresh\" content=\"4;url=main.php\">

Og det er ikke fordi det er den smarteste måde!!!
Avatar billede jakoba Nybegynder
21. februar 2001 - 15:51 #5
godt nok. din meta opdaterer  main.php  hvert 4-de sekund.

udover main  rammen må du have en anden ramme hvor folk kan skrive, og hvergang de trykker enter bliver det de har skrevet sendt til serveren.

i din fil meta.php skal du blot have
<html>
<head>
<meta http-equiv=\"refresh\" content=\"4;url=main.php\">
<script language=\"JavaScript\">
function scrollwindow() {
    if (document.all)
        temp=document.body.scrollbuttom  <!-- bottom? -->
    else
        temp=window.pageYOffset;
    window.scroll(0,temp)
}; //end scrollwindow()

document.onload=scrollwindow;
</script>
</head>
<body>
og så ellers de sidste 20-40 indtastede linier fra dem der er med i chatten.
</body>
</html>

Det var nok også noget i den retning du startede med :(

Det nytter ikke rigtig noget at kalde scrollwindow() mere end een gang for der bliver alligevel kun hentet nye data at vise en gang hvert fjerde sekund når din meta-tag trigger en reload.

du kan eksperimentere med at lade meta-refreshen ske hyppigere end hvert fjerde sekund, men det er lidt risikabelt. Det tager noget tid at generere sådan en php fil og sende den, og hvis din næste vi skal refreshe kommer før den sidste refresh er helt loaded bliver det ikke meget for chatterne at se.

Det blev et ret sølle svar, der mestendels betyder: \"Hvis du vil have realtime refresh skal det slet ikke være på den måde\".

Men jeg tror desværre det passer. for at få refresh så hurtigt som det er med ICQ (jeg havde det installeret en månedstid) skal du have en lille server installeret på alle dem der chatters maskine så de sender data direkte til hinanden (ligesom ICQ gør det). Det kan ikke gøres så hurtigt ud af en hjemmesideserver.

mvh JakobA
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