एक .js फ़ाइल पर विकास करते समय मैं समय बचाने के लिए पूरे पृष्ठ की बजाय उस फ़ाइल को रीफ्रेश करना चाहता हूं। किसी को इसके लिए किसी भी तकनीक के बारे में पता है?क्या विकास करते समय जावास्क्रिप्ट को रीफ्रेश करने का कोई तरीका है?
उत्तर
यहाँ एक नया स्क्रिप्ट तत्व बनाने के लिए एक समारोह है। यह डाउनलोड को मजबूर करने के लिए स्क्रिप्ट के यूआरएल को अद्वितीय बनाने के लिए एक बढ़ी हुई पूर्णांक को जोड़ता है (जैसा कि कंस सुझाया गया है)।
var index = 0; function refreshScript (src) { var scriptElement = document.createElement('script'); scriptElement.type = 'text/javascript'; scriptElement.src = src + '?' + index++; document.getElementsByTagName('head')[0].appendChild(scriptElement); }
फिर Firebug कंसोल में, आप इसे के रूप में कॉल कर सकते हैं:
refreshScript('my_script.js');
आप यह सुनिश्चित करें कि सूचकांक में ही स्क्रिप्ट पुनः लोड किया जा रहा का हिस्सा नहीं है बनाने की आवश्यकता होगी!
फ़ायरबग नेट पैनल आपको यह देखने में मदद करेगा कि स्क्रिप्ट डाउनलोड की जा रही है या नहीं। प्रतिक्रिया स्थिति "200 ठीक" होनी चाहिए और नहीं, "304 संशोधित नहीं होना चाहिए। इसके अलावा, आपको क्वेरी स्ट्रिंग में संलग्न इंडेक्स देखना चाहिए।
फ़ायरबग HTML पैनल आपको यह देखने में मदद करेगा कि स्क्रिप्ट तत्व को सिर में जोड़ा गया था या नहीं तत्व
अद्यतन:।
यहाँ एक संस्करण एक सूचकांक चर के बजाय एक टाइमस्टैम्प का उपयोग करता है है @davyM चलता है, यह एक और अधिक लचीला दृष्टिकोण है:।
function refreshScript (src) { var scriptElement = document.createElement('script'); scriptElement.type = 'text/javascript'; scriptElement.src = src + '?' + (new Date).getTime(); document.getElementsByTagName('head')[0].appendChild(scriptElement); }
अलेक्सई के अंक भी अच्छी तरह से कर रहे हैं -स्टेटेड
यदि आप अपनी .js फ़ाइल के क्लाइंट-साइड/ब्राउज़र कैशिंग के दुर्भाग्यपूर्ण मामले के बारे में बात कर रहे हैं, तो आप बस अपनी .js फ़ाइल का संस्करण बना सकते हैं। आप कर सकते हैं?
- .js ही (प्राथमिकता नहीं दी)
- अद्यतन yourfile.js संदर्भित करने के लिए लाइन में शामिल हैं 1, आदि 2 yourfile.js, .. इस प्रकार अनुरोध करने के लिए मजबूर कर रहा ब्राउज़र फ़ाइल का नाम बदलें सर्वर से नवीनतम संस्करण। (पसंदीदा)
नहीं की तरह एक्सटेंशन की वसूली का उपयोग तंग आ गया है, यह एक कैश मुद्दा नहीं है। मैं पूरे पेज को रीफ्रेश किए बिना .js * रीफ्रेश करना चाहता हूं। इस तरह की तरह कि आप फायरबग के माध्यम से सीएसएस को तुरंत अपने परिणामों का परीक्षण करने के लिए पृष्ठ को रीफ्रेश किए बिना सीएसएस कैसे संपादित कर सकते हैं। बिल्कुल इसी तरह नहीं, क्योंकि मैं .js फ़ाइल में परिवर्तनों को सहेजना चाहता हूं - लेकिन मुद्दा यह है कि मैं पूरे पृष्ठ को रीफ्रेश नहीं करना चाहता हूं। – Susan
मानक डीबगिंग प्रथाओं के बाहर (उदाहरण के लिए अभिव्यक्तियों का मूल्यांकन, मूल्यों की जांच आदि।) मुझे नहीं पता कि आप क्या कर सकते हैं जो आप करने की कोशिश कर रहे हैं। दुर्भाग्यवश, पूर्ण पृष्ठ को पुनः लोड करना आपकी सबसे अच्छी शर्त है। – Kon
दुर्भाग्यवश, आपको अपने जावास्क्रिप्ट में संपादन देखने के लिए वेब पेज रीफ्रेश करना होगा। जावास्क्रिप्ट को "रीयल-टाइम" में संपादित करने का कोई तरीका नहीं है और रीफ्रेश किए बिना उन संपादन प्रभावों को देखें।
आप नया जावास्क्रिप्ट डालने के लिए फ़ायरबग का उपयोग कर सकते हैं, और डीओएम ऑब्जेक्ट्स में वास्तविक समय परिवर्तन कर सकते हैं; लेकिन आप जावास्क्रिप्ट को संपादित नहीं कर सकते जो पहले ही चलाया जा चुका है।
मुझे पता है कि आप फायरबग के माध्यम से सीएसएस और एचटीएमएल संपादित कर सकते हैं, लेकिन मुझे नहीं लगता कि .js फ़ाइलें कैसे संपादन योग्य हैं? – Susan
"कंसोल" पर क्लिक करें और अपने जेएस कोड को दाएं तरफ पैनल पर पेस्ट करें। –
@ सुसान क्षमा करें, यह एक खराब शब्द पसंद था; मेरा मतलब यह था कि आप अपने जेएस लिखने के लिए कंसोल टैब का उपयोग कर सकते थे और यह दिखाता है कि आप रीयलटाइम में बदलाव करते हैं। मैंने अपना उत्तर अधिक विशिष्ट होने के लिए संपादित किया। – Moses
मैं आपको इस उद्देश्य के लिए फ़ायरबग का उपयोग करने का सुझाव देता हूं। इस वीडियो को देखें, इससे मुझे बहुत मदद मिली।
http://encosia.com/2009/09/21/updated-see-how-i-used-firebug-to-learn-jquery/
आदर्श नहीं है अगर मैं .js फ़ाइल में एकाधिक फ़ंक्शंस में tweaks के साथ काम कर रहा हूं। – Susan
तुम सिर्फ रूपों refilling सिर्फ विकासशील जबकि फार्म इस एक https://addons.mozilla.org/ru/firefox/addon/lazarus-form-recovery/
- 1. क्या वेबव्यू रीफ्रेश करने का कोई बेहतर तरीका है?
- 2. क्या वापस पोस्ट करते समय क्वेरी स्ट्रिंग पैरामीटर को साफ़ करने का कोई तरीका है?
- 3. क्या RenderComponentPresentation को कॉल करते समय एक चर पारित करने का कोई तरीका है?
- 4. क्या जावास्क्रिप्ट में नेमस्पेसिंग करने का कोई "संक्षिप्त" तरीका है?
- 5. क्या सभी समय बहिष्कृत करने का कोई तरीका है?
- 6. जावास्क्रिप्ट टैग को प्रारूपित करने का सही तरीका क्या है?
- 7. स्क्रॉल करते समय, अपने चित्र (दृश्य) को अपडेट करने के लिए वेबव्यू को मजबूर करने का कोई तरीका है?
- 8. क्या जिथब का उपयोग करते समय व्यक्तिगत फाइलों या निर्देशिकाओं को फोर्क पर लॉक करने का कोई तरीका है?
- 9. क्या gif फ़ाइलों को सिंक करने का कोई तरीका है?
- 10. क्या मूसोम घटना को तेज करने का कोई तरीका है?
- 11. क्या किसी अन्य पर काम करते समय गिट शाखा पर परीक्षण चलाने का कोई तरीका है?
- 12. जावास्क्रिप्ट में ब्राउज़र टैब की पहचान करने का कोई तरीका?
- 13. क्या ऐसा करने का कोई तरीका है?
- 14. क्या कुछ समय बाद कोई बटन UIalertView को खारिज करने का कोई तरीका नहीं है?
- 15. क्या कोई लेबल अक्षम करने का कोई तरीका है?
- 16. साइट प्रकाशित करते समय एक संपूर्ण फ़ोल्डर को बाहर करने का कोई तरीका है?
- 17. एसक्यूएल सर्वर - खोज करते समय उद्धरणों को अनदेखा करने का कोई आसान तरीका है?
- 18. कोड के माध्यम से नेविगेट करते समय github में एनिमेशन बंद करने का कोई तरीका है?
- 19. जावास्क्रिप्ट को शामिल करने का सबसे अच्छा तरीका क्या है?
- 20. क्या कोई बटन क्लिक करते समय एक संपूर्ण वेब फ़ॉर्म नहीं भेजने का कोई तरीका है?
- 21. SystemInfo.cs में System.Runtime.CompilerServices को रीफ्रेश करने का कोई कारण है?
- 22. क्या SQLLataReader को मल्टीथ्रेड करने का कोई तरीका है?
- 23. क्या वेब अनुप्रयोग शुरू करते समय ग्रहण को ब्राउज़र खोलने से रोकने का कोई तरीका है?
- 24. क्या प्रदर्शन रीफ्रेश दर प्रोग्रामेटिक रूप से प्राप्त करने का कोई तरीका है?
- 25. पृष्ठ को रीफ्रेश किए बिना ब्राउज़र के पता बार को बदलने का कोई तरीका है?
- 26. <Message...> का उपयोग करते समय एक नई लाइन मुद्रित करने का कोई तरीका है?
- 27. जावास्क्रिप्ट को रीफ्रेश करने के लिए खींचें
- 28. क्या file_get_contents() करने के लिए कोई जावास्क्रिप्ट तरीका है?
- 29. क्या दिन का समय निकालने का कोई बेहतर तरीका है?
- 30. क्या सबडोमेन से जेसन लोड करने का कोई तरीका है?
मैं एक सूचकांक के बजाय समय (नई तिथि()। GetTime()) का उपयोग करूंगा (वैश्विक चर की आवश्यकता को हटा देता है)। यदि आप एक ही स्क्रिप्ट को रीफ्रेश करते हैं, तो आप एक बुकमार्कलेट भी बना सकते हैं। –
@ डेवीएम, अच्छा विचार। मैं अपडेट करूंगा। – inkfist
+1। कृपया सावधान रहें कि पुनः लोड करने वाली स्क्रिप्ट पहले से लोड की गई evry ऑब्जेक्ट को अपडेट नहीं करेगी। आप उन दिलचस्प मुद्दों में भाग ले सकते हैं जहां कार्यों के पुराने संस्करणों का उपयोग किया जाता है (यानी कॉलबैक/क्लोजर/एक्सिसिटिंग ऑब्जेक्ट्स के रूप में)। –