문제

새로운 jQuery v1.4가 이것을 말합니다 ...

jquery.ajax ()가 타이머 대신 onreadyStateChange를 사용하고 있습니다.

AJAX 요청은 이제 폴링 대신 onreadyStateChange를 사용하여 더 적은 수의 리소스를 취해야합니다.

이것이 정확히 무엇을 의미하는지 잘 모르겠지만 내 사이트 (Facebook과 같은 소셜 네트워크, MySpace)에서 사용자가 얻는 알림이 있습니다. Ajax는 정기적으로 전화를 걸어 페이지에 표시 할 새로운 알림이 있는지 확인할 수있는 것입니다. 그런 일이 끝나는 방식을 개선합니까?

도움이 되었습니까?

해결책

예, 사이트가 향상 될 것입니다. 사이트가 얼마나 많은 Ajax를 사용하는지에 따라 통화 중에 사용되는 낮은 시스템 리소스만큼이나 속도가 눈에 띄지 않습니다.

IE6은 지원하지 않습니다 onreadystatechange 따라서 IE6의 타이머로 돌아갈 것이라고 가정하지만 대부분의 다른 브라우저 구현은 해당 이벤트를 지원합니다. 이벤트 콜백은 항상 폴링 스크립트보다 리소스가 적습니다 (몇 밀리 초마다 무언가를 확인).

IE6에 관해

OnreadyStateChange 이벤트는 Windows Internet Explorer 7에서 소개되었습니다. 출처 : MSDN

다른 팁

2 Doug Neiner

IE 6 확실히 지원합니다 이벤트 onreadyStateChange. XPSP2의 IE 6.0.2에서 지금 볼 수 있습니다. MSDN은 모든 이벤트를 포함하여 IE의 버전 7 이후 XMLHTTPREQUEST 객체가 지원되었다고 명시하고 있습니다. 현대 라이브러리 (예 : jQuery)는 on readreadStateChange 이벤트를 지원하는 객체 "microsoft.xmlhttp"또는 "msxml2.xmlhttp"의 수동 생성에 의한 해결 방법을 해결합니다. 예시 여기 (MSDN).

행운을 빕니다.

PS는 여기에서 대답했습니다

onReadyStateChange is a property on the xmlHttpRequest 물체. 보입니다 $.ajax 이전에 XHR이 준비되었는지 확인하기 위해 XHR을 폴링하고 있었지만 이제는 실제 이벤트를 듣고 있습니다. 이것은 JavaScript 리소스를 적게 소비한다는 것을 의미합니다. 여전히 Ajax 폴링을 수행해야하기 때문에 서버 리소스를 완화하지 않습니다. 저것 감각. 따라서 실제로 구현 해야하는 새로운 기술이 아니며, 뒤쳐지는 일에만 차이가 있으며, 개선을 활용하는 것은 새 버전으로 전환하는 것입니다.

나는 추측하고있다. onReadyStateChange, 당신은 또한 자신의 콜백 방법을 해당 이벤트에 전달할 수 있습니다. 혜성 ( "Ajax 푸시"), 서버 측 성능을 향상시킬 수 있습니다. 그러나 혜성은 구현하기가 까다로울 수 있습니다. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top