سؤال

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

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

المحلول

إذا كنت تخدم CSS الخاص بك من ملفات ثابتة (أو أي شيء لا يهم سلسلة الاستعلام)، فحاول تغيير ذلك للتأكد من أن المتصفح يقدم طلبًا جديدًا، لأنه سيعتقد أنه يسحب موردًا مختلفًا تمامًا، لذلك لديك على سبيل المثال:

"styles.css?token=1234" في مرجع CSS في الترميز الخاص بك وقم بتغيير قيمة "الرمز المميز" في كل تسجيل دخول لـ CSS

نصائح أخرى

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

إنه ليس حلاً رائعًا، لكنني تعاملت مع هذا من قبل على مستوى الصفحة عن طريق إضافة سلسلة استعلام إلى نهاية استدعاء ملف CSS:

 <link href="/css/global.css?id=3939" type="text/css" rel="stylesheet" />

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

إجابات مماثلة (مزيد من التفاصيل) مقدمة لإصدار JavaScript من هذا السؤال، والتي لها نفس المشكلة/الحل

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

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