जब हम नई साइट विकसित कर रहे हैं या नए कोड में परिवर्तनों का परीक्षण कर रहे हैं जिसमें नए कोड के बाद सीएसएस शामिल है और कोई बदलावों की जांच करने के लिए जाता है तो वे हमेशा पुराने सीएसएस के कैश किए गए संस्करण को देखते हैं। यह परीक्षण में बहुत सी समस्याएं पैदा कर रहा है क्योंकि लोग कभी भी सुनिश्चित नहीं हैं कि उनके पास स्क्रीन पर नवीनतम सीएसएस है (मुझे पता है कि रीफ्रेश पर क्लिक करें और इस कैश को साफ़ कर दें लेकिन मैं अंतिम उपयोगकर्ताओं को ऐसा करने की उम्मीद नहीं कर सकता)। मेरे संभावित समाधान क्या हैं?आईआईएस सीएसएस कैशिंग
उत्तर
यदि आप स्थैतिक फ़ाइलों (या क्वेरी स्ट्रिंग के लिए कोई फर्क नहीं पड़ता) से अपने सीएसएस की सेवा कर रहे हैं, तो यह सुनिश्चित करने के लिए कि ब्राउजर एक नया अनुरोध करता है, अलग-अलग प्रयास करें, क्योंकि ऐसा लगता है कि यह एक completley खींच रहा है अपने मार्कअप में सीएसएस संदर्भ में
और एक महान प्रत्येक सीएसएस पर "टोकन" का मूल्य बदल चेक-इन
अपने विकास के माहौल में, एक्सपियर हेडर को बहुत कम सेट करें। अपने उत्पादन वातावरण में, इसे उच्च सेट करें, और उसके बाद इसे रिलीज़ करने से एक सप्ताह पहले इसे कम करें।
इसकी नहीं: विभिन्न संसाधन है, तो उदाहरण के लिए "styles.css टोकन = 1234?" समाधान, लेकिन मुझे सीएसएस फ़ाइल में कॉल के अंत में एक क्वेरीस्ट्रिंग जोड़कर पेज स्तर पर इससे पहले मिल गया है:
<link href="/css/global.css?id=3939" type="text/css" rel="stylesheet" />
फिर मैं आईडी मान को यादृच्छिक बना दूंगा ताकि यह हमेशा पृष्ठ लोड पर एक अलग मूल्य लोड कर सके। फिर मैं उत्पादन को धक्का देने से पहले इस कोड को बाहर ले जाऊंगा। मुझे लगता है कि आप एक कॉन्फ़िगरेशन फ़ाइल से मूल्य भी खींच सकते हैं, ताकि प्रति प्रतिबद्ध होने के बाद इसे केवल लोड किया जाना चाहिए।
इसी प्रकार के (थोड़ा और अधिक विस्तार) इस सवाल के JavaScript संस्करण है, जो एक ही समस्या है/समाधान
मैं पहले से ही पृष्ठों के लिए सीएसएस जोड़ने के लिए एक स्थिर विधि का उपयोग करने के लिए दिए गए उत्तर तो मैं जोड़ा क्वेरीस्ट्रिंग के निर्माण का एक टाइमस्टैम्प बहुत अच्छा काम करता है। – Greg
हालांकि यह समाधान काम करेगा, यह बड़ी वेबसाइटों के लिए पूरी तरह से अप्रत्याशित है, जिनमें .css और .js फ़ाइलों के सैकड़ों संदर्भ हो सकते हैं। – Karlth
@ user357320, मैं आपको इस पृष्ठ के लाइन 21 और 22 में संदर्भित करता हूं जो कुछ परिभाषाओं द्वारा "बड़ी वेबसाइट" है। सौभाग्य से यह एक अच्छी तरह से संरचित और डिज़ाइन की गई वेबसाइट है, इसलिए इसमें सैकड़ों संदर्भ नहीं हैं। – Rob