Wie kann ich ein Bild synchron laden?

9

Ich möchte ein Objekt mit einer image -Eigenschaft erstellen, aber ich möchte, dass der contstructor erst dann ausgeführt wird, wenn das Bild geladen ist. Oder um dies mit Code zu beschreiben:

%Vor%

Für diejenigen, die nicht mit der Klassennotation vertraut sind, die ich in meinem Skript verwende, basiert sie auf dies

Irgendwelche Ideen?

    
Loupax 23.02.2012, 20:59
quelle

4 Antworten

17

Es ist möglich, aber nur mit der alten Kunst von Base64 und Daten-URL .

GIF-Bild in Base64 konvertiert.

rune.b64

%Vor%

JavaScript, das das konvertierte Bild vom gleichen Server über AJAX blockiert.

loader.js

%Vor%

Probleme

  • Einige ältere Browser mögen keine (großen) Daten-URLs
  • Die Base64-Kodierung macht Bilder etwa 37% größer
  • Die gesamte Benutzeroberfläche ist blockiert, bis das Bild geladen ist

Dies ist ein sehr böser Weg

    
K.. 14.11.2013, 09:26
quelle
12

Geben Sie den abhängigen Code in den Rückruf ein. Es gibt keinen anderen nicht-bösen Weg.

%Vor%     
Matt Ball 23.02.2012 21:02
quelle
2
%Vor%

Basierend auf dieser Antwort.

    
user669677 24.02.2014 12:46
quelle
-1

Ich habe es in Funktion gebracht, und es hat funktioniert!

%Vor%

Dies ist ein Beispiel, das für mich funktioniert hat, denn vorher, als ich das Bild ohne Umbruch in der Funktion verarbeitet habe, würde es async funktionieren, jetzt ist es async.

    
guautemoc zihuataneho 16.05.2016 18:39
quelle

Tags und Links