Wie funktioniert readyState Arbeit?
Überprüfe ich die Eigenschaft .readyState
von BrowserTestObject
mit RFT (Rational Functional Tester).
Manchmal, bevor der nächste Schritt in meinem test-Skript brauche ich, um sicher zu sein, dass die Seite 'fertig' und alle Objekte geladen sind.
Macht die .readyState == 4
bedeuten, dass alle Objekte innerhalb des Browsers geladen und bereit? Könnte jeder ajax-call im hintergrund noch "arbeiten" oder es beenden müssen, bevor der browser zurück .readyState=4
? Was ist eine flex-Anwendung?
Ist, dass das Verhalten browser-unabhängig oder nicht? Ich bin nach der IE 8 (und firefox 3.6.x)
Du musst angemeldet sein, um einen Kommentar abzugeben.
schnelle Antwort ist JA, wenn die browser-Implementierung ist korrekt.
Siehe hier: http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#current-document-readiness
Ich würde sagen Nein. Wenn ich die Diskussion verstanden hier, readyState verwendet, so bezieht sich nur auf die javascript-test, sonst nichts. Zu warten, dass das Dokument selbst geladen ist, werden Sie brauchen, um Haken zu
document.readyState
und warten, bis es zu"complete"
. In diesem Fall, sobald die HTML-Analyse abgeschlossen ist, wird diedocument.readyState
wäre"complete"
für alle mal, und wird nicht beeinflusst durch irgendwelche XMLHttpRequest-Objekt zu löschen. Flash-plugins könnte oder könnte nicht begonnen haben; sicherlich würde es viele javascript ausgeführt; zum Beispiel$(function() {})
Konstrukt in jquery Häufig bedeutet, dass javascript-code könnte schon starten, nur nachdem der browser trifft die "fertigen" Zustand.Testen, wenn alle asynchronen Anfragen, die passiert sind, schlage ich vor, Haken die readyState-Ereignis aller XMLHttpRequests irgendwie und machen Sie es zu aktualisieren, der eine Globale variable.