2012-03-09 18 views
29

मेरे पास जिथब पेज पर होस्ट किए गए एक जैकिल बूटस्ट्रैप आधारित ब्लॉग है।जैकिल बूटस्ट्रैप आधारित ब्लॉग - एक्सपियर हेडर?

मेरी समस्या यह है कि: हर बार जब मैं अपने वेब पेज पर कुछ बदलता हूं, तो मुझे परिवर्तन देखने के लिए पृष्ठ को मजबूती से पुनः लोड करना होगा (CTRL + R)।

जैकिल या मेरे ब्राउज़र को यह एहसास नहीं हुआ कि बाहर भेजने के लिए एक नया संस्करण उपलब्ध है।

मैं इसे बेहतर तरीके से संभालने के लिए जेकिल को कैसे कॉन्फ़िगर कर सकता हूं?

+2

संभावना है कि गिथब पेज आक्रामक कैशिंग हेडर भेज रहे हैं, ब्राउज़र को एक निश्चित समय तक संसाधन के एक अद्यतन संस्करण की जांच न करने के लिए कह रहे हैं। – Charles

+0

तो गिथब पेजेस के साथ इसे रोकने की कोई संभावना नहीं है? –

+0

आपको उन्हें अपने कैशिंग प्रथाओं के बारे में पूछना होगा। – Charles

उत्तर

-1

यदि आप स्थिर संसाधनों पर कैश को बाईपास करना चाहते हैं तो आप इसे हर बार फ़ाइल के नाम को बदल सकते हैं। इससे ब्राउज़र को नया संसाधन मिल जाएगा क्योंकि यह किसी नए नाम के साथ फ़ाइल के बारे में कुछ भी नहीं जान पाएगा।

उदाहरण के लिए:

पुरानी फ़ाइल नाम: project.css नई फ़ाइल नाम: projectv01.css

या जो भी आप चाहते हैं।

+1

संदर्भ पृष्ठ को भी बदला जाना होगा जो उपयोगकर्ता अनुभव को पूरी तरह से तोड़ देगा। Index.html के बजाय इसे index01.html होना होगा :)। अन्यथा कैश index.html की सेवा करेगा जो projectv01.css की बजाय project.css को इंगित करता है। जोड़ने के लिए जावास्क्रिप्ट का उपयोग करना? कैश = हर सामग्री के लिए यादृच्छिक यूआरएल एक समाधान है .. लेकिन एक भयानक बुरा समाधान है। – whardier

5

संपत्ति कैश बस्टिंग को संभालने के लिए कुछ जेकिल प्लगइन्स हैं।

https://github.com/ixti/jekyll-assets/

http://matthodan.com/2012/11/22/jekyll-asset-pipeline.html

मैं Jekyll-संपत्ति की कोशिश की और यह बहुत अच्छा है क्योंकि यह एक md5 संस्करण संख्या के साथ संपत्ति के सभी प्रकार के प्रबंधन।

संकलन समय पर मेरे सीएसएस लिंक में एक स्ट्रिंग जोड़ने के लिए उपयोग करने से पहले।

<link href="{{ ASSET_PATH }}/css/global.css?{{ site.time | date:'%Y%m%d%U%H%N%S' }}" rel="stylesheet"> 
+0

प्रश्न संपत्ति के बारे में नहीं है, यह एचटीएमएल कैश के बारे में है। –

+0

yop लेकिन यह प्लगइन कैश बस्टिंग तार जोड़ता है, यही कारण है कि मैंने यहां जवाब दिया। मेरी गलती :) –

3

आप अपने पृष्ठों के लिए ब्राउज़र कैशिंग निष्क्रिय करने के लिए अपने html में इन मेटा टैग जोड़ सकते हैं।

<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="-1" /> 
संबंधित मुद्दे