Domanda

Il nuovo v1.4 jQuery dice ...

jQuery.ajax () è ora utilizzando onreadystatechange invece di un timer

richieste Ajax ora dovrebbero prendere meno risorse utilizzando onreadystatechange invece di polling.

Non sono sicuro di quello che questo significa, ma sul mio sito (social network come facebook, myspace) Ho notifiche get dell'utente, rende AJAX chiamata periodicly per vedere se c'è nuove notifiche di mostrare in una pagina, è questo qualcosa che può migliorare la roba modo in genere viene fatto?

È stato utile?

Soluzione

Si sarebbe migliorare il tuo sito. A seconda di quanto AJAX tuo sito utilizza, il miglioramento non sarà evidente in velocità il più risorse di sistema più bassi utilizzati durante la chiamata.

IE6 non supporta onreadystatechange quindi immagino che ricadrà al timer per IE6, ma la maggior parte altre implementazioni del browser di sostegno XMLHTTPRequest quell'evento. Callback di eventi utilizzano sempre meno risorse di uno script di polling (che controlla qualcosa ogni pochi millisecondi).

Per quanto riguarda IE6

  

L'evento onreadystatechange è stata introdotta in Windows Internet Explorer 7. Fonte: MSDN

Altri suggerimenti

2 Doug Neiner

IE 6 supporta sicuramente onreadystatechange evento. Lo vedo in questo momento in IE 6.0.2 su XPsp2. MSDN afferma che oggetto XMLHttpRequest supportato dalla versione 7 di Internet Explorer, tra cui tutti i suoi eventi. biblioteche moderne (come jQuery) soluzione, questo per creazione manuale di oggetti "Microsoft.XMLHTTP" o "Msxml2.XMLHTTP" che sono entrambi sostiene onreadystatechange evento. esempio qui (MSDN).

In bocca al lupo.

PS risposta qui coz questa discussione in top 10 dei risultati di Google cercando "onreadystatechange jquery"

onReadyStateChange è una proprietà sull'oggetto xmlHttpRequest. Sembra che in precedenza era $.ajax polling il XHR per vedere se era pronto, ma ora è invece ascoltando l'evento reale. Ciò significherebbe che consuma meno risorse javascript, non si esime di eventuali risorse del server, perché si devono ancora fare AJAX elettorale a che senso. Quindi non è davvero una nuova tecnica che è necessario implementare o qualcosa del genere, è solo una differenza di ciò che accade dietro, e di utilizzare tale miglioramento, tutto ciò che dovete fare è quello di passare alla nuova versione.

Sto indovinando (ma non sono sicuro), che ora che usano onReadyStateChange, è anche possibile passare i propri metodi di callback per l'evento, che consentirebbe di fare Comet ( "AJAX push") nofollow noreferrer, che potrebbe potenzialmente migliorare le prestazioni sul lato server. Ma essere consapevoli che la cometa può essere difficile da implementare:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top