Pergunta

O fórum v1.4 diz isso...

jQuery.ajax() está usando agora onreadystatechange em vez de um temporizador

Solicitações Ajax deve-se agora ter menos recursos por meio de onreadystatechange em vez da pesquisa.

Eu não tenho certeza exatamente o que isso significa, mas no meu site (rede social como o facebook, myspace) eu tenho as notificações que o usuário começar, ele faz a chamada AJAX periodicly para ver se há novas notificações para mostrar em uma página, isso é algo que pode melhorar a forma de coisas como o que é feito?

Foi útil?

Solução

Sim, isso iria melhorar o seu site.Dependendo de quanto o AJAX, seu website usa, a melhoria não será perceptível em velocidade quanto menor os recursos do sistema a ser utilizado durante a chamada.

O IE6 não suporta onreadystatechange então, eu suponho que ele vai cair de volta para o timer para o IE6, mas a maioria das outras implementações do navegador de apoio XMLHTTPRequest evento.Retornos de chamada de evento sempre utilizar menos recursos do que uma assembleia de voto script (que verifica algo novo a cada poucos milissegundos).

Sobre o IE6

O evento onreadystatechange foi introduzido no Windows Internet Explorer 7. Fonte:MSDN

Outras dicas

2 Doug Neiner

Ou seja, 6 Definitivamente apoia Evento OnReadyStateChange. Eu posso ver agora no IE 6.0.2 no XPSP2. O MSDN afirma que o objeto XmlHttPrequest suportado desde a versão 7 do IE, incluindo todos os seus eventos. Bibliotecas modernas (como jQuery) Solução alternativa por criação manual de objetos "Microsoft.xmlHttp" ou "msxml2.xmlHttp", que estão suportando o evento OnReadyStatechange. exemplo aqui (MSDN).

Boa sorte.

PS respondeu aqui porque este tópico no top 10 dos resultados do Google pesquisando "onereadystatechange jQuery"

onReadyStateChange é uma propriedade no xmlHttpRequest objeto. Parece $.ajax anteriormente estava pesquisando o XHR para ver se estava pronto, mas agora está ouvindo o evento real. Isso significaria que consome menos recursos JavaScript, não o alivia de nenhum recurso do servidor, porque você ainda precisa fazer uma pesquisa de Ajax em este senso. Portanto, não é realmente uma técnica nova que você precisa implementar ou algo assim, é apenas uma diferença no que acontece por trás e utilizar essa melhoria, tudo o que você precisa fazer é mudar para a nova versão.

Estou supondo (mas não tenho certeza), agora que eles usam onReadyStateChange, você também pode passar seus próprios métodos de retorno de chamada para esse evento, o que permitiria que você faça Cometa ("Ajax Push"), o que poderia potencialmente melhorar o desempenho do seu servidor. Mas esteja ciente de que o cometa pode ser complicado de implementar :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top