Frage

Die neue jQuery v1.4 sagt dieses ...

jQuery.ajax () ist jetzt mit onreadystatechange anstelle eines Timers

Ajax-Anfragen sollten nun weniger Ressourcen nehmen, indem Sie onreadystatechange statt Polling.

Ich bin nicht sicher, genau das bedeutet, was aber auf meiner Website (soziales Netzwerk wie Facebook, MySpace) I Mitteilungen haben, dass Benutzer-get, es Anruf AJAX macht periodicly, um zu sehen, ob neue Mitteilungen ist auf einer Seite zu zeigen, ist dies etwas, das die Art und Weise wie das Zeug verbessern kann, wird getan?

War es hilfreich?

Lösung

Ja, es würde Ihre Website verbessern. Je nachdem, wie viel AJAX Ihrer Seite verwendet, wird die Verbesserung der Geschwindigkeit bemerkbar, so viel wie niedrigere Systemressourcen während des Anrufs verwendet wird.

IE6 nicht unterstützt onreadystatechange so dass ich nehme an, es wird für den IE6 in den Timer zurückfallen, aber die meisten anderen Browser-Implementierungen von XMLHTTPRequest Unterstützung, die Veranstaltung. Ereignisrückrufe nutzen immer weniger Ressourcen als ein Polling-Skript (die Kontrollen etwas alle paar Millisekunden).

In Bezug auf IE6

  

Das onreadystatechange Ereignis wurde in Windows Internet Explorer 7 eingeführt Quelle: MSDN

Andere Tipps

2 Doug Neiner

IE 6 auf jeden Fall unterstützt Veranstaltung onreadystatechange. Ich kann es jetzt in IE 6.0.2 auf XPSP2 sehen. MSDN besagt, dass Objekt XMLHttpRequest seit Version 7 unterstützt von IE, einschließlich aller ihrer Veranstaltungen. Moderne Bibliotheken (wie jQuery) umgehen dies durch manuelle Erstellung von Objekten „Microsoft.XMLHTTP“ oder „Msxml2.XMLHTTP“, die onreadystatechange Ereignis beide unterstützt werden. Beispiel hier (MSDN).

Viel Glück.

PS beantwortet hier Coz diesen Thread in den Top 10 von Google-Ergebnisse der Suche "onreadystatechange jquery"

onReadyStateChange ist eine Eigenschaft auf dem xmlHttpRequest Objekt. Es sieht aus wie $.ajax war zuvor Abfrage der xhr zu sehen, ob sie bereit war, aber nun statt dem eigentlichen Ereignis zu hören. Dies würde bedeuten, dass es weniger Javascript Ressourcen verbraucht, ist es nicht Sie von irgendwelchen Server-Ressourcen zu entlasten, weil Sie noch in AJAX Polling zu tun haben, , die Sinn. So ist es nicht wirklich eine neue Technik ist, dass Sie zu implementieren oder etwas haben, es ist nur ein Unterschied in dem, was auf hinter geht, und dass eine Verbesserung zu nutzen, alles, was Sie tun müssen, ist zu Umstellung auf die neue Version.

Ich vermute, (aber ich bin sicher nicht), dass jetzt, dass sie onReadyStateChange verwenden, können Sie auch in diesem Fall Ihre eigenen Callback-Methoden übergeben, die Sie Comet ( "AJAX Push") , die möglicherweise Ihre serverseitige Leistung verbessern könnte. Aber beachten Sie, dass Comet kann schwierig sein, zu implementieren:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top