Auf meinem PC lief es sowohl in FF als auch in IE, und ich hatte genau die entgegengesetzten Ergebnisse.
Der Grund dafür ist, dass Ihr Timeout nur 10 Millisekunden beträgt. Die Auflösung von Timern unter Windows beträgt ungefähr 10 ms. Es ist daher möglich, dass eine Zeitüberschreitung zuerst auftritt. Um wirklich sicher zu sein, dass eine Sache vor der anderen passiert, sollten Sie definitiv eine größere Lücke zwischen Timeouts haben.
Und selbst dann solltest du nicht erwarten, dass es immer funktioniert: -)
Wenn Sie die Dinge wirklich in der gleichen Reihenfolge ausführen möchten, behalten Sie sie in derselben Codezeile oder setzen Sie Flags, die angeben, ob eine bestimmte Aktion abgeschlossen wurde oder nicht, und überprüfen Sie diese, bevor Sie eine zweite ausführen, die auf der zuerst.
Die Ausführungsreihenfolge für Timer-Ereignisse ist in Browsern nicht garantiert. Sie werden intern von der nativen Timer-Implementierung des Betriebssystems verarbeitet und können in unterschiedlicher Reihenfolge ausgelöst werden.
Da Sie so wenig Zeit angegeben haben, ist es sehr wahrscheinlich, dass dies der Fall ist.
Nun, ich verstehe es klar.
Was Firefox tut ist, was Sie erwarten, d. h .:
Was IE macht, bringt Zweifel:
Also, was ich realisiere, ist, dass die Nachrichtenvariable einen globalen Gültigkeitsbereich im IE hat, während Firefox einen Cache mit dem Wert erstellt, der zuletzt an die Timeout-Funktion übergeben wurde. Um dies zu realisieren, verwenden Sie längere Zeiträume von möglicherweise 1000 & amp; 10000 (1 & amp; 10 Sekunden) anstelle von 0 & amp; 10. Dies wird Ihnen zeigen, dass Firefox die Warnung zweimal während IE nur einmal anzeigt.
Tags und Links javascript