tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
337
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    funkspiel-fritteng funkspiel-fritteng ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    2
    Hallo,

    ich habe diesen Codeteil im Internet gefunden um ein Bild bei änderung neu zu laden.
    HTML-Code:
    <html><head>
    <title>test</title>
    <script type="text/javascript">
    <!--
    var timestamp = 0;
    function ajax()
    {
    try {
    req = window.XMLHttpRequest?new XMLHttpRequest():
    new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
    
    }
    
    req.onreadystatechange = function() {
    if ((req.readyState == 4) && (req.status == 200)) {
    var feedback = req.responseText;
    var update = new Array();
    var Now = new Date();
    
    update = feedback.split('||');
    if(timestamp < update[0]) {
    timestamp = update[0];
    document.getElementById('live').src = update[1];
    document.getElementById('debugger').innerHTML += Now.toLocaleString() + ': Bild aktualisiert<br />';
    } else {
    document.getElementById('debugger').innerHTML += Now.toLocaleString() + ': Kein Update verfügbar<br />';
    }
    
    
    setTimeout("ajax()", 1000);
    }
    }
    req.open('get', 'status.php');
    req.setRequestHeader("Pragma","no-cache");
    req.setRequestHeader("Cache-Control","must-revalidate");
    //req.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");
    req.send(null);
    }
    //-->
    </script>
    </head>
    <body onload="ajax()">
    
    <img id="live" src="img/test.gif" alt="Webcam" />
    <div id="debugger" style="position:absolute;right:0px;top:0px;height:100%;width:400px;font-size:11px;background-color:#ffbbbb"></div>
    
    </body>
    </html>
    nur leider weiß ich nicht was genau das PHP Script ausgeben soll.
    Gebe ich nur den Timestamp des Bildes aus erkennt das Script zwar ein Update, setzt den Bild dateinamen aber auf undefined.

    PHP-Code:
    <?php 
    $time 
    filectime("img/test.gif");
    echo 
    $time;
    ?>
    Wi sollte das PHP script denn nun aussehen ?
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    Hallo,

    die JavaScript-Funktion im onreadystatechange-Event spaltet zuerst die zurückgegebenen Daten anhand eines "vertikelen Strichs" ('|') und prüft ob der letzte Timestamp der Datei (am Anfang 0) kleiner als der zurückgegebene Timestamp ist. Also ob das Bild aktualisiert wurde bzw. das PHP-Skript einen größeren Timestamp zurückgibt.
    Und falls es aktueller ist, wird der aktuelle Timestamp (timestamp) auf den zurückgegebenen gesetzt und die Bildquelle auf den Teil nach den zweiten Teil des Rückgabetextes (bzw. nach dem '|') gesetzt.

    Das PHP-Skript könnte z.B. so auscchauen:
    PHP-Code:
    <?php
    $src 
    'img/test.gif');
    $time filectime($src);

    echo 
    $time.'|'.$src;
    ?>
    PS: Bitte 'push' den Thread wenn schon erst nach ein paar Tagen und nicht direkt am nächsten Tag
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    funkspiel-fritteng funkspiel-fritteng ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    2
    Hm... das PHP Script funktioniert (klar), nur leider erkennt das JavaScript kein Update sobald ich die Grafik Update. Das PHP Script erkennt aber einen neuen TimeStamp
     

Ähnliche Themen

  1. DIV nachladen
    Von Trash im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 25.09.11, 23:13
  2. AJAX Request - Bild nachladen
    Von Templorials im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 10.11.08, 20:43
  3. Scriptstücke nachladen !
    Von NinjaOne im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 25.08.05, 23:13
  4. Frames nachladen
    Von MrDude im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 18.03.05, 13:46
  5. Iframe nachladen?
    Von CThor im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 10.01.04, 13:58