سؤال

يقول هذا jQuery v1.4 الجديد ...

يستخدم jquery.ajax () الآن onReadyStateChange بدلاً من مؤقت

يجب أن تأخذ طلبات AJAX الآن موارد أقل باستخدام OnReadyStateChange بدلاً من الاقتراع.

لست متأكدًا بالضبط ما يعنيه هذا ولكن على موقعي (الشبكة الاجتماعية مثل Facebook ، MySpace) لدي إشعال أن المستخدم يحصل عليه ، فهو يجعل Ajax Call بشكل دوري لمعرفة ما إذا كانت هناك إشعارات جديدة لإظهارها على الصفحة ، هل هذا شيء يمكن تحسين الطريقة التي يتم بها أشياء من هذا القبيل؟

هل كانت مفيدة؟

المحلول

نعم سوف يحسن موقعك. اعتمادًا على مقدار ما يستخدمه موقعك ، لن يكون التحسين ملحوظًا في السرعة بقدر ما يتم استخدام موارد النظام المنخفضة أثناء المكالمة.

IE6 لا يدعم onreadystatechange لذلك أفترض أنه سيعود إلى المؤقت لـ IE6 ، ولكن معظم تطبيقات المتصفح الأخرى لدعم XMLHTTPrequest هذا الحدث. تستخدم عمليات عروض أحداث دائمًا موارد أقل من البرنامج النصي للاقتراع (الذي يتحقق من شيء كل بضعة ميلي ثانية).

بخصوص IE6

تم تقديم حدث onReadyStateChange في Windows Internet Explorer 7. المصدر: MSDN

نصائح أخرى

2 دوغ ناينر

أي 6 بالتأكيد يدعم حدث onReadyStateChange. أستطيع أن أراه الآن في IE 6.0.2 على XPSP2. تنص MSDN على أن الكائنات XMLHTTPrequest مدعومة منذ الإصدار 7 من IE ، بما في ذلك جميع أحداثها. المكتبات الحديثة (مثل jQuery) حل بديل هذا عن طريق إنشاء كائنات يدوي "microsoft.xmlhttp" أو "msxml2.xmlhtp" والتي تدعم حدث onReadyStateChange. مثال هنا (MSDN).

حظا طيبا وفقك الله.

تم الرد على ملاحظة هنا لأن هذا الموضوع في أفضل 10 نتائج من Google بحثًا عن "onReadyStateChange jQuery"

onReadyStateChange هو خاصية على xmlHttpRequest هدف. يبدو $.ajax تم استقصاء XHR سابقًا لمعرفة ما إذا كان جاهزًا ، ولكنه الآن يستمع إلى الحدث الفعلي. هذا يعني أنه يستهلك موارد جافا سكريبت أقل ، فهو لا يخففك من أي موارد خادم ، لأنه لا يزال يتعين عليك إجراء استطلاع Ajax في الذي - التي إحساس. لذلك ، إنها ليست تقنية جديدة يجب عليك تنفيذها أو شيء ما ، إنها مجرد فرق في ما يجري وراءه ، واستخدام هذا التحسن ، كل ما عليك فعله هو التبديل إلى الإصدار الجديد.

أنا أظن (لكنني لست متأكدًا) ، بعد استخدامهم الآن onReadyStateChange, ، يمكنك أيضًا تمرير أساليب رد الاتصال الخاصة بك إلى هذا الحدث ، مما يتيح لك القيام به المذنب ("Ajax Push"), ، والتي يمكن أن تحسن أداء من جانب الخادم. لكن كن على علم بأن المذنب يمكن أن يكون صعبًا للتنفيذ :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top