मैं एक जेएसएफ वेब एप्लिकेशन पर काम कर रहा हूं। हर बार जब मैं सीएसएस फाइलों को बदलता हूं और प्रोग्राम को पहली बार तैनात करता हूं, तो सीएसएस फाइलों में बदलाव प्रतिबिंबित नहीं होते हैं। मैंने इसे विभिन्न स्थितियों पर परीक्षण किया। यह कैसे होता है और मैं इसे कैसे हल कर सकता हूं?सीएसएस फ़ाइलों में परिवर्तन तैनाती के बाद प्रतिबिंबित नहीं होते
उत्तर
हाँ जब मैं Ctrl + F5 दबाएँ यह
भरी हुई है तो यह सिर्फ ब्राउज़र कैश से कार्य किया गया था। यह बिल्कुल ठीक है। यह वास्तविक उत्पादन वातावरण में नेटवर्क बैंडविड्थ बचाता है। लेकिन मैं कल्पना कर सकता हूं कि यह विकास के दौरान परेशान है या जब भी आप उत्पादन में अपडेट लाते हैं। विकास के दौरान मैं बस Ctrl + F5 कुंजी पर उपयोग करना सीखूंगा। लेकिन उत्पादन के लिए आप वास्तव में इसे हल करना चाहते हैं क्योंकि एंडुसर को "चाल" के बारे में पता नहीं हो सकता है।
एक आम तरीका सीएसएस संसाधन में अनुरोध पैरामीटर के रूप में संस्करण संख्या को जोड़ना है।
<link rel="stylesheet" href="style.css?v=1.0" />
हर जब तुम बड़े बदलाव सीएसएस बनाने के लिए, तो आप उत्पादन में अद्यतन लाने से पहले संस्करण को अपडेट करना चाहते हैं।
<link rel="stylesheet" href="style.css?v=1.1" />
यह ब्राउज़र को स्टाइलशीट को फिर से लोड करने के लिए मजबूर करेगा।
एक और तरीका सर्वर के स्टार्टअप समय का उपयोग करना है। चूंकि आप जेएसएफ का उपयोग कर रहे हैं, यह आसानी से java.util.Date
के साथ faces-config.xml
में एक अनुप्रयोग स्कॉप्ड प्रबंधित बीन के रूप में घोषित किया जा सकता है।
<managed-bean>
<description>Startup date</description>
<managed-bean-name>startup</managed-bean-name>
<managed-bean-class>java.util.Date</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
तो फिर तुम Date#getTime()
उपयोग कर सकते हैं टाइमस्टैम्प प्राप्त करने के लिए:
<link rel="stylesheet" href="style.css?#{startup.time}" />
इस तरह HTML में उत्पन्न हो जाएगा:
<link rel="stylesheet" href="style.css?1314105929937" />
यह हर बदल देंगे आप सर्वर को पुनरारंभ करें या वेबपैप को फिर से तैनात करें, इसलिए ब्राउज़र को संसाधन को फिर से लोड करने के लिए मजबूर किया जाएगा (यहां तक कि जब इसे वास्तव में बदला नहीं गया है! तो इसे ध्यान में रखें यदि कैशिंग और बैंडविड्थ उपयोग एक कंसर है एन)। जावा तकनीक और छवियों जैसे अन्य स्थिर संसाधनों पर एक ही तकनीक लागू होती है।
जब आप पहले से ही JSF 2.x पर हैं, तो आप इसके लिए अंतर्निहित "संसाधन लाइब्रेरी संस्करण" सुविधा का उपयोग कर सकते हैं। यह भी देखें What is the JSF resource library for and how should it be used?
आपके समाधान – qazal
+1 के लिए बहुत उपयोगी धन्यवाद, धन्यवाद बलससी। हो सकता है कि आपको अपने उत्तरों को किसी पुस्तक में संकलित करना चाहिए (यदि आपके पास कुछ खाली समय होना चाहिए)। मैं इसे खरीदूंगा :) – kostja
अच्छा विचार है, लेकिन क्या इसे सीएसएस फाइलों सहित जेएसएफ तरीके से गठबंधन करने का कोई मौका है, यानी '
सीएसएस फ़ाइलों को बदलने के दौरान मुझे वही समस्याएं थीं और साइट को रीफ्रेश करने के लिए आवश्यक थी, बहुत ही कष्टप्रद और बहुत ही असभ्य था।
आखिरकार मैं इस अच्छे छोटे "टूल", एक जावास्क्रिप्ट फ़ाइल में आया, जिसे आपको अपनी परियोजना में लागू करने की आवश्यकता है। बाद में आपको साइट को रीफ्रेश करने की आवश्यकता नहीं है, आपको बस अपनी सीएसएस फ़ाइल को सहेजने की आवश्यकता है, और बदलाव 2,3 सेकंड के बाद स्वचालित रूप से अपनाए जाएंगे। हमेशा की तरह, http://cssrefresh.frebsite.nl/
रास्ता BalusC से, बहुत ही उपयोगी चाल तक;)
मैंने आपके द्वारा उपयोग किए जाने वाले तरीके का उपयोग करने की कोशिश की लेकिन मेरे लिए काम नहीं कर रहा है। मैंने जेएस फ़ाइल डाउनलोड की और इसे मेरे प्रोजेक्ट में रखा लेकिन इसका कोई प्रभाव नहीं पड़ा :( – Aditzu
- 1. तैनाती के बाद रिपोर्ट सर्वर पर पैरामीटर में परिवर्तन नहीं दिखा रहा है
- 2. सीएसएस परिवर्तन
- 3. परिवर्तन सीएसएस
- 4. नेटबीन्स, मेवेन और ग्लासफ़िश के साथ हॉट तैनाती परिवर्तन
- 5. आर: फ़ंक्शन में प्रयुक्त ggplot2 फ़ॉन्ट आकार परिवर्तनीय में परिवर्तन को प्रतिबिंबित नहीं करता
- 6. बंडल सीएसएस तैनाती के बाद प्रदर्शित नहीं हो रहा है ... एएसपी.नेट एमवीसी 4
- 7. श्वार्टज़ियन परिवर्तन कब उपयोगी होते हैं?
- 8. DataTrigger पुनः मूल्यांकन करने नहीं के बाद संपत्ति में परिवर्तन
- 9. ब्राउज़र तैनाती के बाद फेविकॉन क्यों नहीं दिखाता
- 10. मैं प्रतिबिंबित डेटाबेस में स्कीमा परिवर्तन कैसे कर सकता हूं?
- 11. सीएसएस: सेट करने के बाद सामग्री नहीं
- 12. विशिष्ट फ़ाइलों में स्टैश परिवर्तन
- 13. तैनाती के बाद फोर्स कैश रीफ्रेश करें
- 14. तैनाती के दौरान फ़ाइलों में गिट संशोधन संख्या डालें
- 15. तैनाती के बाद django में scipy.stats.stats का उपयोग
- 16. ब्राउज़िंग को कैशिंग सीएसएस फ़ाइलों से कैसे रोकें?
- 17. गुण फ़ाइल परिवर्तन ग्लासफ़िश सर्वर को पुनरारंभ करने तक प्रतिबिंबित नहीं कर रहे हैं
- 18. सीएसएस पाठ-परिवर्तन "महंगा"
- 19. सीएसएस परिवर्तन दृश्य स्टूडियो
- 20. -webkit-box-firefox और IE में प्रतिबिंबित - सीएसएस
- 21. सबवर्जन नामित फ़ाइलों में परिवर्तन विलय नहीं कर रहा है?
- 22. आरडीएलसी रिपोर्ट डेटा परिवर्तन को प्रतिबिंबित करने के लिए अद्यतन नहीं होता
- 23. सीएसएस संपत्ति परिवर्तन श्रोता
- 24. NSManagedObject पृष्ठभूमि थ्रेड के बाद परिवर्तनों को प्रतिबिंबित नहीं कर रहा है NSManagedObjectContextDidSaveNotification
- 25. wp-config.php में परिवर्तन कब प्रभावी होते हैं?
- 26. एंड्रॉइड स्रोत फ़ाइलों में परिवर्तन करने के बाद एंड्रॉइड स्रोत कोड का पुनर्निर्माण कैसे करें
- 27. सीएसएस शैलियों किस क्रम में लागू होते हैं?
- 28. रेल 3.2 और सीएसएस फ़ाइल पर संशोधन संपत्तियों को प्रतिबिंबित नहीं करते हैं: प्रीकंपाइल
- 29. परिवर्तन के बाद एक गिट शाखा बनाना
- 30. गिट खींचने के बाद विस्तार परिवर्तन
एक बाहर करने के लिए और अन्य, वे लोड जब आप ब्राउज़र में Ctrl + F5 दबाएँ:
यहाँ लिंक है? – BalusC
हाँ जब मैं Ctrl + F5 दबाता हूं तो यह – qazal
लोड होता है हाँ जब मैं Ctrl + F5 दबाता हूं तो यह लोड होता है। इस अर्थ में, अंतिम सीएसएस ब्राउज़र नकदी में रहता है। मैं नकदी के साथ इस समस्या को कैसे हल कर सकता हूं? – qazal