2012-02-15 16 views
6

पाठ का उपयोग करके पुनः लोड करने के लिए! प्लगइन, क्या कैश किए गए डेटा को वापस करने के बजाय RequjS को फ़ाइल को पुनः लोड करने के लिए मजबूर करने का कोई तरीका है?RequJS पाठ को मजबूर कर रहा है!

+0

क्या आप प्लग-इन का लिंक प्रदान कर सकते हैं? क्या आपने कुछ कोशिश की है? क्या यह असफल रहा, किसी भी तरह? –

+0

प्लगइन http://requirejs.org/docs/api.html#text – nicholas

+3

नहीं, कुछ भी असफल नहीं हो रहा है, वास्तव में यह होना चाहिए। यदि आप एक टेक्स्ट फ़ाइल लोड करते हैं, तो उस फ़ाइल के बाद के किसी भी अनुरोध मूल रूप से लोड किए गए डेटा को वापस कर देता है। जो मैं खोज रहा हूं वह अजीब मामला है जहां वह फ़ाइल बदल सकती है और उसे ताज़ा किया जाना चाहिए। – nicholas

उत्तर

1

RequJS केवल प्रति अनुरोध फ़ाइल को कैश करेगा। एक पेज रीलोड इसे फिर से लाएगा। यदि आप कुछ अलग देखते हैं तो यह है क्योंकि:

  • या तो आप अपने सर्वर पर कैशिंग कर रहे हैं।
  • या आपका ब्राउज़र अनुरोध को कैश करता है। आप निश्चित रूप से इसे अपने ब्राउज़र पर अक्षम कर सकते हैं।

यदि आप ब्राउज़र को हर बार एक स्वच्छ फ़ाइल लाने के लिए चाहते हैं, तो आपके सर्वर पर इन संसाधनों के लिए आपके पास नो-कैश हेडर होना चाहिए।

+1

सर्वर से ब्राउज़र लोडिंग फ़ाइलों को लागू करने के लिए उन्हें एक रैंडोमी जेनरेट क्वेरी स्ट्रिंग के साथ कॉल करने का प्रयास कर सकता है - जैसे/Som-path-to-file/MyJSfile.js?v=TIMESTAMP – shershen

+0

@ शेरसन डॉन ' टी लगता है कि आप requ.js – ggozad

+1

@ggozad के साथ ऐसा कर सकते हैं आप requjs.config ({urlArgs: 'getparam'} का उपयोग करके requjs के साथ किए गए सभी मॉड्यूल अनुरोधों के लिए एक GET पैरामीटर जोड़ सकते हैं) - इसका उपयोग ब्राउज़र कैशिंग को तोड़ने के लिए किया जा सकता है –

0

मुझे लगता है कि आप एक कैश प्रकट प्रदान करके नए एचटीएमएल 5 कैश सुविधा जोड़ सकते हैं: http://www.html5rocks.com/en/tutorials/appcache/beginner/

तो आप requirejs "domReady" का उपयोग उचित लोड घटना प्राप्त करने के लिए कर सकते हैं: http://requirejs.org/docs/api.html#pageload

और उसके बाद उचित घटना (पहली कड़ी से लिया कोड) को सुनने: जब भी आप urlArgs अद्यतन

window.applicationCache.addEventListener('updateready', function(e) { 
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) { 
    // Browser downloaded a new app cache. 
    if (confirm('A new version of this site is available. Load it?')) { 
    window.location.reload(); 
    } 
} else { 
    // Manifest didn't changed. Nothing new to server. 
}}, false); 

इस बिंदु पर आप नए js फ़ाइलें मिल जाएगा और प्रकट कैश च के साथ ile आपको नई एचटीएमएल फाइलें मिलेंगी

संबंधित मुद्दे