Webcam zeigt halbfertige Bilder

ruprecht

Grünschnabel
Hallo zusammen,

ich lade auf den Server einer Homepage alle 10sec ein aktuelles Bild einer Webcam hoch. Leider habe ich das Problem, dass das Hochladen (Austauschen des Bildes) ca. 1sec benötigt. Komme ich als Client auf die Homepage, gibt es also eine 10%tige Chance ein halbfertiges Bild zu erwischen.

Hier mein Javascript:
Code:
var bildcache, reload; 

function ersetzen() {
    document.images["webcambild"].src = "fileadmin/webcam/webcambild.jpg"+ reload;
    setTimeout("reloadCam()", 10000);
}
 
function reloadCam() {
    if (bildcache == null) {
        bildcache = new Image();
    }
    reload = new Date(); 
    reload = "?" + reload.getTime();
    bildcache.src = "fileadmin/webcam/webcambild.jpg"+ reload;
    bildcache.onError = function() {
    	reloadCam();
    }
    bildcache.onload = ersetzen;  
}

Mit "bildcache.onError = function() {reloadCam();}" wollte ich eigentlich bei einem noch nicht komplett hochgeladenem Bild wieder "reloadCam" aufrufen. Dem onError-Event scheint aber die Existenz der Datei zu reichen. Somit funktioniert das alles nicht wie ich es will.

Hat jemand eine Idee ob das hier mit Javascript überhaupt möglich ist?
 
Zuletzt bearbeitet:
Moin,

probiere mal, die Breite des Bildes abzufragen, diese könnte bei einem nicht vollständigem Bild 0 sein.
Habs aber noch nicht probiert, ich könnte mir auch vorstellen, dass dies von der Art des Bildes abhängt, bei einem progressive JPG bspw. könnte die Grösse bereits vor der Fertigstellung bekannt sein.
 
Hallo Sven,

Code:
if (document.images["webcambild"].height > 235 ) {
   		bildcache.onload = ersetzen; 
}
oder
Code:
    if (document.images["webcambild"].width > 299 ) {
   		bildcache.onload = ersetzen; 
    }
oder
Code:
    if (document.images["webcambild"].complete == true) {
    bildcache.onload = ersetzen; 
    }

...bringt leider alles nichts. Das Bild hat bei Beginn des Hochladens auf den Server schon seine volle Breite und Höhe. Vielleicht wäre der Weg über Dateigröße noch eine Möglichkeit. Aber an die Dateigröße des Bildes komme ich mit einem Javascript nicht heran, oder?

http://www.3cdevelopment.de/mobotix/lohmarer-hoefe/current.html

Bei denen hier scheint es ohne halbgeladene Bilder zu funktionieren. Nur deren Script macht eigentlich auch nix anderes.

Gruß Ruprecht
 

Neue Beiträge

Zurück