Ich habe eine Webseite in einem Iframe geladen, die Javascript verwendet, um die Höhe des Dokuments der Webseite zu berechnen (das Dokument kann Bilder haben). Im Moment habe ich den folgenden Code, um die Höhe zu berechnen, nachdem das Bild geladen:Javascript "Image load" feuert mehrere Male
$("#campaignContainer img").bind("load", function() {
console.log("image load call");
callPostSize(this.src);
})
.each(function() {
if(this.complete) {
console.log("Before image load call from complete");
/*this.onload= function(){console.log("image load call");
callPostSize(this.src);
};*/
$(this).load();
console.log("call load from image complete");
}
Ich habe bemerkt, dass das Bild Last mehrmals im Falle eines Bildes ausgelöst wird; Wenn die Bilder nicht zwischengespeichert werden, wird sie 2 Mal ausgelöst, andernfalls wird sie 3 mal ausgelöst.
Meine Frage ist 1) warum Bild laden mehrmals ausgelöst wird? Ist es ein Jquery-Problem oder einige Browser-Ereignisse? 2) Gibt es eine Möglichkeit, dies zu stoppen?
Ich habe versucht jquery.one aber ohne Erfolg: es gibt nicht die genaue Höhe (nur der letzte Trigger gibt die genaue Höhe).
Wie viele Bilder haben Sie in #campaignContainer? –
Das Problem wurde gefunden. Dort lädt img Ladung von einem anderen Abschnitt, der nicht offensichtlich war. – user2989137