मैं जो करना चाहता हूं वह जावास्क्रिप्ट पथ के अंत में एक क्वेरी स्ट्रिंग जोड़ना है ताकि जब भी मेरा एप्लिकेशन किसी नए संस्करण में अपडेट हो जाए, जावास्क्रिप्ट डाउनलोड हो जाए। जब तक क्वेरी स्ट्रिंग वही है, मैं चाहता हूं कि यह देखने के लिए कि क्या स्क्रिप्ट बदल गई है या नहीं, यह देखने के लिए http अनुरोध किए बिना कैश किए गए संस्करण का उपयोग करना जारी रखना है।क्या फ़ायरफ़ॉक्स जावास्क्रिप्ट को कैश करता है और पथ में क्वेरीस्ट्रिंग होने पर अनुरोध के बिना इसका उपयोग करता है?
जिस तरह से मैं इसे PHP में पूरा कर रहा हूं वह सीवीएस टैग से पढ़ना है। जब मैं उत्पादन करने के लिए HTML का निर्माण कर रहा हूँ, मैं सीवीएस टैग पढ़ सकते हैं और उपयोग करें कि जावास्क्रिप्ट पथ के अंत करने के लिए संलग्न करने के लिए इतना है कि यह एक स्क्रिप्ट टैग है कि इस तरह दिखता है बनाता है: एप्लिकेशन के रूप में
<script src="javascript/messages/shipments.js?TPRSAPPS-DEV2_090828145712237-BRANCH" type="text/javascript"></script>
जब तक बदल नहीं है, टैग वही रहेगा और इसलिए क्वेरी स्ट्रिंग भी होगी। ब्राउज़र को जेएस को कैश करना चाहिए और नेटवर्क अनुरोध नहीं करना चाहिए क्योंकि समाप्ति तिथि बहुत दूर है। प्रत्येक बार ऐप अपडेट होने पर, वह क्वेरी स्ट्रिंग बदल जाएगी और ब्राउज़र को इसे डाउनलोड करना चाहिए।
यह IE8 में बहुत अच्छा काम करता है। मेरी समस्या फ़ायरफ़ॉक्स के साथ है। फ़ायरफ़ॉक्स फाइलों को कैश करता है, लेकिन अगली बार जब मैं पेज लोड करता हूं फायरबग 304 प्रतिक्रिया दिखाता है, यह दर्शाता है कि यह अभी भी फ़ाइल के लिए नेटवर्क अनुरोध करता है और फिर पाया कि यह नहीं बदला है।
तो मेरा सवाल यह है कि, फ़ायरफ़ॉक्स एक क्वेरी स्ट्रिंग होने पर जावास्क्रिप्ट की समाप्ति शीर्षलेख और कैश को अनदेखा करता है?
संबंधित: what does firefox decide not to cache? जाहिर है रेल कुछ समान करता है। लेकिन यह मेरे प्रश्न का उत्तर नहीं देता है।
https://appdev.prsx.net/~jhargett/PRSApps-Motorlog/javascript/menuReader.js?TPRSAPPS-DEV2_090828145712237-BRANCH-DIFFERENT
HTTP/1.1 304 Not Modified
Date: Mon, 03 Oct 2011 18:35:26 GMT
Server: Apache/2.2.3 (Red Hat)
Connection: close
Etag: "179010-3f8-49a9a74334200"
Vary: Accept-Encoding
Firebug में कैश टैब का कहना है::
यहाँ प्रतिक्रिया मैं इस फ़ाइल पर वापस हो रही है है
Last Modified Mon Oct 03 2011 13:35:26 GMT-0500 (Central Daylight Time)
Last Fetched Mon Oct 03 2011 13:35:26 GMT-0500 (Central Daylight Time)
Expires Fri Oct 28 2011 18:33:31 GMT-0500 (Central Daylight Time)
Data Size 345
Fetch Count 12
Device disk
क्या आपके HTTP प्रतिसाद शीर्षलेख तरह दिखते हैं? यही महत्वपूर्ण है। – Pointy
304 करना सामान्य है। फ़ायरफ़ॉक्स पृष्ठ पर प्रत्येक संसाधन के लिए कम से कम एक बार "if-modified-since" शीर्षलेख के साथ एक GET अनुरोध भेजेगा। यह नई सामग्री (200) या संशोधित 304 के साथ जवाब देने के लिए सर्वर पर निर्भर है। –
यदि समाप्त हो गया हैडर भविष्य में है, तो यह बिल्कुल अनुरोध करना चाहिए। –