الرجل الفقير التخزين المؤقت في جافا سكريبت

[ليرة تركية;إصدار الدكتور: استخدام ملفات تعريف الارتباط لتخزين نتائج async المكالمات; تقديم نتائج الماضي async المكالمات فورا وثم التحقق من صحة لهم بعد تحميل الصفحة.]

لقد تم العمل على موقع SharePoint على الإنترانت لعميل تلك الميزات, أمور أخرى, ملاحة ثانوية منمنمة خيارات القائمة التي تتم إدارتها عن طريق قائمة مخصصة قديمة عادية.  والفكرة أن العميل يحصل على التحكم في القائمة موقع "بهم" دون التي تؤثر أو تتأثر الملاحة العالمية التي وضعت من قبل أنه.

(هناك شيء هدامة بشكل لا يصدق حول إضافة سوب الذي يشير إلى ملف HTML الذي يحمل بعض المغلق وشبيبة أساسا تغيير كل شيء تقريبا عن سلوك الموقع... ولكن هذا وظيفة أخرى)

التعليمات البرمجية لهذا بسيطة جداً:

قرحة موضعية هنا أن كل مرة أي شخص عدد مرات تصفح الموقع إحدى الصفحات في الموقع, مستعرض ويب المستخدم هو الوصول إلى الحصول على العناصر من القائمة.  بمجرد اكتمال ديف والتجارب أثبتت أن تكون الأمور مستقرة وإكمال, هذه الدعوة لا لزوم لها أكثر من 99% الوقت منذ القائمة، ونادراً ما يتغير.  كما أنها تؤثر على واجهة مستخدم غريب هو أمر شائع في هذا العالم الجديد الشجاع من فرط أجاكسي مواقع ويب--يجعل الصفحة وفقط ثم يجعل القائمة.  أنها متوترة وتشتيت في رأيي.  ومتقطعة. حتى, التخزين المؤقت. 

تم تعديل المنطق thusly:

  • ابحث عن ملف تعريف ارتباط في المستعرض الذي يحتوي على القائمة حسب آخر قراءته
    • إذا وجدت, جعله فورا.  لا تنتظر حتى انتهاء تحميل الصفحة.  (كنت بحاجة للتأكد من أن يتم وضع استراتيجيا HTML الخاص بك هنا, ولكن ليس من الصعب القيام به).
  • انتظر حتى الانتهاء من تحميل وجعل async الكلمة لتحميل عناصر القائمة من قائمة استخدام بقية أو lists.asmx أو أيا كان الصفحة
  • قارن ما حصلت ضد ملف تعريف الارتباط
    • إذا كان يتطابق, وقف
    • خلاف ذلك, باستخدام jQuery, ملء حفنة بشكل حيوي إذا <لي>الشعبية في <إبري>
  • استخدام CSS للقيام بكافة التنسيقات
  • الربح!

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

وهناك بعض الطرق جعل ذاكرة التخزين المؤقت هذا أكثر فعالية ويساعد الخادم في نفس الوقت:

  • وضعت في قاعدة أن "التخزين المؤقت لملف تعريف الارتباط" صالحة لحد أدنى من 24 ساعات أو بعض الأخرى تحديد إطار زمني. ما دام هناك لا كوكي منتهية الصلاحية, استخدام القائمة لقطة في ملف تعريف الارتباط وابدأ ضرب الخادم.

حسنا.. هذا هو كل ما يأتي إلى الذهن الآن :). 

إذا كان أي شخص لديه أي أفكار ذكية هنا أنا أحب أن أعرف منهم.

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

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

فكره واحده بخصوص "الرجل الفقير التخزين المؤقت في جافا سكريبت

  1. روسيل Jonathan

    مرحبا بول,

    تنفيذ جميل, وهذا شيء نحن نستخدم لكن علينا استخدام التخزين المحلي HTML5 API بدلاً من ملفات تعريف الارتباط. وكان محرك الأقراص الأول أننا بحاجة إلى تخزين أكثر مما يمكن السماح بملفات تعريف الارتباط. ولكن ميزة إضافية أن لا تزيد الحمولات, وفي حين يتم إرسال ملفات تعريف الارتباط ذهابا وإيابا. من وجهة نظر ديف فمن السهل جداً للاستخدام.
    دعم المستعرض ليست مثالية لكنها جيدة جداً بصراحة, http://caniuse.com/namevalue-storage .

    جوناثان

    الرد

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *