Avatar billede qualon1 Nybegynder
20. maj 2006 - 12:27 Der er 5 kommentarer

Bruger aktivitet

Hej

Jeg er ved at lave et community, hvor jeg har forskellige levels af brugere. Jeg vil gerne lave et system, sådan at når en administrator logger ind, dukker en popup frem ved alle andre brugere der er logged ind, altså med det samme, ikke først ved deres næste sideskift. Håber nogen kan hjælpe med det, måske noget java(script)
Avatar billede jakobdo Ekspert
20. maj 2006 - 13:22 #1
Der tror jeg evt du skal kigge på det som kaldes ajax.
Der kan du lave en funktion som står og reloader i baggrunden, f.eks. hvert 5. sekund, når så en admin logger ind, så gemmer du dette et sted, som dit ajax script så kan registrere og smide en popup til brugeren/brugerne.
Avatar billede qualon1 Nybegynder
20. maj 2006 - 13:27 #2
ja, men jeg vil jo gerne undgå at en side reloades konstant og den der bip (når den reloader) kommer hele tiden...
Avatar billede jakobdo Ekspert
20. maj 2006 - 13:32 #3
Jeg tror da ikke at der kommer et bip hver gang...
Er du sikker på det?

Se her: http://en.wikipedia.org/wiki/AJAX
Og skal evt. nok prøve at kigge på noget senere.
Avatar billede qualon1 Nybegynder
20. maj 2006 - 14:19 #4
jeg har nu kigget lidt på det ajax, og det virker som også.
Men jeg har et problem, det den henter fra en fil, bliver ved med at være det samme selvom filen ændres og browseren ikke lukkes. Det er først når jeg lukker browseren og går derind igen, at den henter nyt indhold. Hvad kan jeg gøre der?
<script type="text/javascript" language="javascript">
    function makeRequest(url) {

        var http_request = "";
        http_request.responseText = "";

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() { alertContents(http_request); };
        http_request.open('GET', url, true);
        http_request.send(null);
       
    }

    function alertContents(http_request) {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                alert(http_request.responseText);
                if(http_request.responseText == "update") {
                    //alert("ok");
                }
            } else {
                alert('There was a problem with the request.');
            }
        }

    }
</script>
<span
    style="cursor: pointer; text-decoration: underline"
    onclick="makeRequest('online.php')">
        Make a request
</span>
Avatar billede jakobdo Ekspert
21. maj 2006 - 19:03 #5
Jeg kan godt se der var lidt problemer med IE, det blev dog afhjulpet med output kode som dette:

<?php
@header("Content-type: text/xml");
@header("Cache-Control: no-cache, must-revalidate, max-age=0");
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
@header("Pragma: no-cache");
echo "ADMIN JOINED";
?>
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