2009-06-04 4 views
0

Ist es normal, eine kurze Verzögerung nach .innerHTML = xmlhttp.responseText zu haben; ?Ist es normal, eine kurze Verzögerung nach .innerHTML = xmlhttp.responseText;?

Verzögerung aproximiert 1 sek. nach xmlhttp.readyState == 4.

mit Firefox 3.0.10

+0

Wie groß ist der Inhalt, den Sie ändern? Wenn es ~ .innerHTML = "bob" ist, dann ist 1 Sekunde eine lange Zeit. wenn es ~ .innerHTML = 10KB Tag-Suppeninhalt ist, dann ist 1 Sekunde nicht überraschend (auch etwas abhängig von dem Computer, auf dem getestet wird) –

+0

Ein Faktor ist, wie viel muss der Browser berechnen, wenn er in die neuen Daten schiebt . Viele komplizierte CSS können Chaos verursachen. Floats und Inline-Elemente können die Ursache von Hindernissen sein – epascarello

Antwort

0

Nein, das hört sich so an, als ob Sie eine missgebildete oder große Reaktion haben könnten.

Der Browser analysiert den responsetext und erstellt Knoten im DOM. Dies ist normalerweise sehr schnell in Firefox.

Vielleicht könnten Sie Ihre Umstände und Antworttext ein wenig mehr beschreiben und es würde uns helfen, zu debuggen.

0

Haben Sie Firebug installiert? Wenn nicht, installieren Sie das von hier (https://addons.mozilla.org/en-US/firefox/addon/1843) und aktivieren Sie die Konsole und das Skript und dann können Sie sehen, wann der responseText zurückgegeben wird. Aber im Allgemeinen ist es normal, eine kurze Verzögerung zu haben, während die Anfrage gestellt wird.

0

Wie machst du das Timing, um den Unterschied zu überprüfen? (console dump?)

Eine gewisse Verzögerung ist unvermeidlich, da innerHTML (oder auch DOM-Manipulation) den Browser dazu zwingt, die Änderungen zu interpretieren und zu verarbeiten und anzuzeigen. Je nach Größe der Änderung kann dies 1 Sekunde dauern.

0

Normalerweise sehe ich dieses Verhalten nicht. Sie können hier einige Beispiel-Code setzen, oder versuchen

http://www.0011.com/ajax_example

und sehen Sie, wenn Sie das gleiche Verhalten wie Ihr Code.

Verwandte Themen