معلومات "Lazyloading" من قاعدة بيانات على صفحة PHP بشكل إجرائي

StackOverflow https://stackoverflow.com/questions/5982972

سؤال

أعلم أن التحميل البطيء المناسب يتطلب عادةً استخدام الكائنات ونمط الوكيل.لم أصل إلى هناك بعد لأن الموقع يحتاج إلى بعض إعادة التصميم.ومع ذلك، هل هناك أي طريقة يمكنني من خلالها تخزين بيانات قاعدة البيانات مؤقتًا إلى صفحة وتسريع وقت التحميل قليلاً؟

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

المحلول

يمكن تحقيق ذلك باستخدام AJAX.

عند تحميل الصفحة لأول مرة، ضع العناصر النائبة في المكان الذي من المفترض أن ينتقل إليه المحتوى الثقيل.على سبيل المثال، استخدم أ div بأسلوب مميز وصورة تحميل متحركة بالداخل حتى يتمكن الزائرون من معرفة بوضوح أن هناك المزيد من عمليات التحميل الجارية.يمكنك إنشاء صور تحميل AJAX ذات مظهر مألوف على ajaxload.info.

احصل على بعض البرامج النصية في أسفل صفحتك والتي تستدعي أو تربط الوظائف الضرورية لتحميل المحتوى الإضافي باستخدام AJAX.يمكنك ربط استدعاء AJAX بـ jQuery .ready() على سبيل المثال، لبدء التحميل بمجرد أن يصبح باقي المستند جاهزًا أو .scroll() للبدء عندما يقوم المستخدم بالتمرير فوق عنصر معين (على سبيل المثالتجاوز "معالم" معينة على صفحتك تفصل بين كتل المحتوى).

عندما تتلقى استجابة AJAX التي تحتوي على المحتوى الإضافي (ويفضل تنسيقه مسبقًا كـ HTML في شكل سلسلة) استبدل محتويات العنصر النائب div مع استجابة AJAX باستخدام .innerHTML = أو مسج .html().تغيير نمط div إذا لزم الأمر باستخدام setAttribute("class","newClass") أو مسج .attr("class","value") ليحل محل فئة CSS الخاصة به.

سيتمكن الزائر من رؤية صفحتك كاملة والتمرير خلالها أثناء عملية التحميل.سيظهر المحتوى الإضافي عندما يصبح جاهزًا دون مقاطعة تجربة التصفح للزائر.يمكنك جعل هذا أجمل قليلاً للعين من خلال تحريك التحولات بعد حقن المحتوى.

إذا كنت بحاجة إلى بعض الأمثلة الإضافية حول كيفية استخدام AJAX لجلب المحتوى بشكل غير متزامن، فقم بإلقاء نظرة عليها هؤلاء لنهج جافا سكريبت الكلاسيكي أو مستندات jQuery .ajax().

نصائح أخرى

يمكنك استخدام JavaScript لبدء تحميل بيانات إضافية بمجرد تحميل الصفحة الرئيسية.بهذه الطريقة، يمكن أن توضح صفحتك الرئيسية المكونات الموجودة على الصفحة، وتقديم "المغازل" يشير إلى أنه يتم تحميل المزيد من البيانات ثم قم بتفريغه إلى JavaScript للحصول على مزيد من البيانات.

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