ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
337
337
EMPFEHLEN
-
09.10.11 23:15 #1
- Registriert seit
- Oct 2011
- Beiträge
- 2
Hallo,
ich habe diesen Codeteil im Internet gefunden um ein Bild bei änderung neu zu laden.nur leider weiß ich nicht was genau das PHP Script ausgeben soll.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>
Gebe ich nur den Timestamp des Bildes aus erkennt das Script zwar ein Update, setzt den Bild dateinamen aber auf undefined.
Wi sollte das PHP script denn nun aussehen ?PHP-Code:<?php
$time = filectime("img/test.gif");
echo $time;
?>
-
10.10.11 13:33 #2
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:
PS: Bitte 'push' den Thread wenn schon erst nach ein paar Tagen und nicht direkt am nächsten TagPHP-Code:<?php
$src = 'img/test.gif');
$time = filectime($src);
echo $time.'|'.$src;
?>
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 erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
10.10.11 16:07 #3
- 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
-
DIV nachladen
Von Trash im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 25.09.11, 23:13 -
AJAX Request - Bild nachladen
Von Templorials im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 10.11.08, 20:43 -
Scriptstücke nachladen !
Von NinjaOne im Forum Javascript & AjaxAntworten: 12Letzter Beitrag: 25.08.05, 23:13 -
Frames nachladen
Von MrDude im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 18.03.05, 13:46 -
Iframe nachladen?
Von CThor im Forum HTML & XHTMLAntworten: 6Letzter Beitrag: 10.01.04, 13:58





Zitieren

Login





