Ich brauche so etwas wie dies zu tun:Javascript Block Skriptausführung
- Führen Sie ein Stück Code
- Starten Sie ein Bild zu laden und blockieren die Skriptausführung
- Wenn das Bild wieder aufnehmen, die Ausführung geladen wird
- Führen Sie den Rest des Codes
ich weiß, dass der einfachste Weg ist es, eine Funktion auf dem onload-Ereignis des Bildes a zuweisen nd dann führe den Rest des Codes in der Funktion aus, aber wenn es möglich ist, möchte ich ein "lineares" Verhalten haben, das die Ausführung des Skripts blockiert und dann wieder aufnimmt. Also, gibt es eine Cross-Browser-Möglichkeit, dies zu tun?
Ich stimme zu, dass dies ein schlechter Weg ist, aber ich denke auch, dass es der einzige Weg ist. Vielleicht kann ich dem Benutzer die Möglichkeit geben, zwischen dem Blockieren der Skriptausführung und dem Aufruf der Ladefunktion zu wählen, wenn das Bild geladen wird. – mck89
@ mck89: Ich finde es schwer zu glauben, dass es der einzige Weg ist. Ich kann ehrlich sagen, dass ich nie auf eine Situation in JavaScript gestoßen bin, die das Sperren des Skripts erfordert; Es gibt immer einen Weg (z. B. temporäres Überschreiben von Funktionen), um Dinge asynchron zu tun. Sie haben schließlich die Kontrolle über das Skript auf Ihrer Seite. Vielleicht könnten Sie eine weitere Frage zu Ihrem Problem stellen? –
@ mck89: Die Eigenschaft 'complete' existiert für Gecko und IE und könnte auch in anderen Browsern funktionieren. Wenn Sie darauf bestehen, die Ausführung von Skripten zu blockieren, sehen Sie sich mein Update an. –