Ich habe ein Script programmiert, bei dem ich innerhalb kürzester Zeit Bilder laden muss.
Bilder mit 10k werden mit DSL Zugang schnell genug für die Anwendung geladen... aber die 56k-Leute, hätten gar nix davon... im Gegenteil, die würden denken, da sind Fehler in der Programmierung.
Das klingt mir danch als ob du den onload Event suchst.
var einBild = new Image();
einBild.onload = bildFertig;
einBild.src = URL;
function()
{
alert(this.src + ' fetig.');
}
D.h. du kannst abfragen ob ein Bild da ist, bevor du dein Skript beginnst.
Jetzt die Frage:
Kennt jemand ne Möglichkeit, auszulesen, mit welcher Geschwindigkeit mein User online ist?
Ja.
var t1, img;
img = new Image();
img.onload = stopTime;
function startTest(){
t1 = new Date();
img.src = 'grafik.jpg' + '?' + Math.random();
}
function stopTime(){
var t2 = new Date();
var d = t2.getTime() - t1.getTime();
var size = this.fileSize;
var speed = parseInt(size / d * 1000 / 1024 );
var text = 'Es hat ' + d + ' ms gedauert, um ' + size + 'bytes zu laden. (' + speed + ' KB/s)';
alert(text);
}
Das funktioniert so aber nur mit dem IE, da Netscape die Eigenschaft fileSize nicht kennst, stattdessen musst du dort einfach die Größe der Datei in Bytes angeben, die du ja weißt.
Struppi.