जावास्क्रिप्ट की स्क्रिप्ट डिबगर को पुनः लोड करने के लिए कैसे मजबूर करें?


244

मुझे वास्तव में क्रोम डीबगर में जावास्क्रिप्ट को संपादित करने की क्षमता पसंद है, लेकिन मुझे लगता है कि सर्वर से जावास्क्रिप्ट को फिर से लाने के लिए डीबगर को प्राप्त करना वास्तव में समस्याग्रस्त हो सकता है।

कभी-कभी मुझे डिबगर को बंद करने और फ्रेम को फिर से लोड करने के रूप में दूर तक जाना पड़ता है - ठीक है, लेकिन अन्य समय (एक डीआई नीचे नहीं बता सकता है कि यह किस स्थिति में होता है) मुझे अपना अस्थायी इंटरनेट कैश साफ़ करना होगा। कभी-कभी मैं कसम खाता हूं कि मुझे क्रोम को पूरी तरह से बंद करना है, फिर कैश को साफ़ करें और फिर पेज को लोड करने से पहले डिबगर अंत में मुझे सबसे अप-टू-डेट स्क्रिप्ट दिखाता है।

(एनबी। वेब सर्वर द्वारा स्क्रिप्ट का कोई कैशिंग नहीं है)

मैं सोच रहा था कि क्या किसी को डिबगर को अपनी सभी जावास्क्रिप्ट को अमान्य करने और पृष्ठ पुनः लोड करने के लिए नए सिरे से लाने का कोई त्वरित और आसान तरीका पता था?


1
कभी-कभी मुझे चीजों को ठीक से लोड करने के लिए IIS एक्सप्रेस को पुनरारंभ करना पड़ता है।
क्रिस ओ

जवाबों:


330

जब आप अपनी स्क्रिप्ट विकसित कर रहे हों, तो क्रोम कैश को अक्षम करने का प्रयास करें।

जब आप पृष्ठ को पुनः लोड करते हैं, तो जावास्क्रिप्ट को अब ताज़ा होना चाहिए।


क्रोम सर्का 2011

सेटिंग्स खोलें कैश अक्षम करें


क्रोम सर्क 2018

सेटिंग्स खोलें कैश अक्षम करें

आप इसे नेटवर्क टैब पर भी एक्सेस कर सकते हैं:

नेटवर्क टैब


8
तो, क्या यह हर समय लागू होता है, या केवल जब डिबगर खुला होता है?
पायलटबोट

7
केवल जब देव उपकरण खुले हैं
करोलिस

11
मेरे पास वह सब सेट है, और अब अचानक, मैं एक निश्चित फ़ाइल के साथ फंस गया हूं। किसी को भी एक समाधान मिल जाए?
आयरनमैफिन

5
इसने मेरे जीवन में कुछ साल जोड़ दिए। मैंने CMD + SHIFT + R की कोशिश की, लेकिन ऐसा नहीं किया। धन्यवाद
केविन Zych

7
उन लोगों के लिए जो इस प्रश्न पर हाल ही में आ रहे हैं, ध्यान दें कि सेटिंग मेनू डेवलपर टूल्स में तीन ऊर्ध्वाधर डॉट्स मेनू से दूर है। वहां आप कैशे को डिसेबल करने के लिए बॉक्स को चेक कर पाएंगे।
स्कॉट सी विल्सन

136

यहां छवि विवरण दर्ज करें

ऊपर दिखाया गया संदर्भ मेनू "रीलोड" बटन को राइट क्लिक / दबाकर और पकड़कर सुलभ है , जबकि क्रोम देव टूल्स खोला गया है

खाली कैश और हार्ड रील मेरे लिए सबसे अच्छा काम करता है।

एक और फायदा: यह विकल्प अन्य सभी खुले टैब और वेबसाइट डेटा को अछूता रखता है। यह केवल वर्तमान पृष्ठ को पुनः लोड और साफ़ करता है।


5
यह विशेष रूप से उपयोगी है क्योंकि यह स्पष्ट करना सरल है। मैं एक मुवक्किल के साथ अपनी वेबसाइट पर किए गए संशोधन को न देख पाने की समस्या में था। F12 दबाएं, फिर रीलोड बटन पर राइट क्लिक करें, खाली कैश और हार्ड रीलोड चुनें। मुझे किया गया था, उस टिप्पणी के लिए
धन्यवाद

इसका सबसे अच्छा क्रोम फीचर है :), कभी भी मेट।
बिशोय हन्ना

1
धन्यवाद! मैं यह पता लगाने की कोशिश कर रहा था कि रिलॉड बटन ने कभी मुझे मेनू दिया और कभी नहीं।
आइकनोकॉस्ट

1
जावास्क्रिप्ट फ़ाइलों को पुनः लोड करते समय मुझे Ctrl + Shift + R के साथ कोई समस्या नहीं थी, लेकिन यह HTML फ़ाइलों में अद्यतन की गई सामग्री को वापस नहीं लाएगा। खाली कैश और हार्ड रीलोड ने इसके लिए चाल चली।
एस। बग्गी

इसे करने का सबसे अच्छा तरीका है, इस खाली कैश और हार्ड रीलोड का उपयोग करें
Hoogw

34

आप हमेशा निम्न करके एक विशिष्ट फ़ाइल को साफ़ कर सकते हैं:

  1. देव उपकरण खोलें
  2. स्रोत टैब पर क्लिक करें
  3. अपनी स्क्रिप्ट / छवि / फ़ाइल ढूंढें
  4. यह देखने के लिए कि क्या आपकी फ़ाइल अद्यतित है, सही पैनल देखें

अगर नहीं:

  1. बाएँ पैनल में संसाधन पर राइट क्लिक करें और 'नया टैब में लिंक खोलें' चुनें
  2. उपरोक्त विधियों के साथ संसाधन का पुनः लोड करना। (देखें @ बिशॉय हन्ना का उदाहरण)

यह बहुत आसान है यदि आपके पास ऐसे संसाधन हैं जो फ़्रेम में हैं और CTRL+F5उन्हें ताज़ा करने के लिए बाध्य नहीं है।


1
सच। CTRL + F5 = वर्तमान कैश ताज़ा करें पृष्ठ
STEEL

मेरे पास संसाधन टैब नहीं है।
माइक डब्ल्यू

@ माइक का नाम बदलकर इसे स्रोत कर दिया गया है - मैंने उत्तर अपडेट किया है
स्टीव

12

Shift+ F5कैश को जल्दी साफ करता है।


18
ctrl-f5 सरसों को काटता नहीं हूं मुझे डर है। पुरानी जावास्क्रिप्ट फ़ाइल डीबगर में रहती है।
क्रिस फेवरेल

9

Google क्रोम के लिए यह Ctrl+ नहीं है F5। वर्तमान कैश साफ़ करने के लिए यह Shift+ F5है! इससे मेरा काम बनता है !


क्यों ? मुझे समझ में नहीं आता कि उस और एक टिप्पणी के बीच क्या अंतर है। सबसे अंत में, सबसे उपयोगी प्रश्न पोस्ट के शीर्ष पर दिखाई देगा।
RPDeshaies

2
प्रश्नकर्ता ने किसी भी बिंदु पर Ctrl-F5 का उल्लेख नहीं किया है , इसलिए परिभाषा के अनुसार आपका उत्तर प्रश्नकर्ता द्वारा पूछे गए प्रश्न का उत्तर नहीं है, बल्कि एक टिप्पणी है , अन्य लोगों के उत्तरों में सुधार है और इसे ऐसा माना जाना चाहिए।
एडवर्ड एक

9

यहाँ DevTools का शॉर्टकट है:

  1. F12 Chrome DevTools खोलने के लिए
  2. F1 DevTools सेटिंग्स को खोलने के लिए
  3. चेक अक्षम कैश (जबकि DevTools खुला है) के रूप में नीचे दिखाया गया है:

यहां छवि विवरण दर्ज करें

नोट: डिमी की टिप्पणी के अनुसार अपडेट किया गया। वे इसे स्थानांतरित करते हैं तो मुझे बताएं या पोस्ट को अपडेट करें यदि आप ध्यान दें कि यह बदल गया है।



2

यदि आप डेवलपर टूल में एक जावास्क्रिप्ट में स्थानीय परिवर्तन कर रहे हैं, तो आपको यह सुनिश्चित करने की आवश्यकता है कि आप पृष्ठ को फिर से लोड करने से पहले उन परिवर्तनों को बंद कर दें।

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


1

ऐसा लगता है कि Chrome डीबगर स्रोत फ़ाइलों को स्मृति में लोड करता है और उन्हें ब्राउज़र कैश अपडेट के बावजूद जाने नहीं देता है, अर्थात इसके पास कैश के अलावा ब्राउज़र कैश है जो सिंक में नहीं है। कम से कम, यह मामला है जब स्रोत मैप की गई फ़ाइलों के साथ काम करना (मैं टाइपस्क्रिप्ट स्रोतों को डीबग कर रहा हूं)। ब्राउज़र कैश को सफलतापूर्वक रीफ़्रेश करने और यह सत्यापित करने के बाद कि स्रोत फ़ाइल में सीधे ब्राउज़ करके, आप अपडेट की गई फ़ाइल डाउनलोड करते हैं, लेकिन जैसे ही आप फ़ाइल को डीबगर में फिर से खोलते हैं, यह पुरानी फ़ाइल को साधारण ब्राउज़र कैश से संस्करण से कोई फर्क नहीं पड़ता है। वास्तव में बहुत आकर्षक।

मैं इसे क्रोम में बग पर विचार करूंगा। मैं संस्करण संस्करण का उपयोग करता हूं 46.0.2490.71 मीटर।

केवल एक चीज जो मदद करती है, वह है क्रोम को पुनरारंभ करना (सभी क्रोम ब्राउज़र को बंद करना)।


0

यदि आपके द्वारा लोड की जा रही फ़ाइलें कैश की गई हैं और यदि आपके द्वारा किए गए परिवर्तन कोड में प्रतिबिंबित नहीं होते हैं, तो इससे निपटने के लिए 2 तरीके हैं।

  1. जैसा कि सभी ने बताया कैशे को साफ करें

  2. यदि आप चाहते हैं कि कैश और केवल फ़ाइलों को फिर से लोड किया जाना है, तो आप dev टूल के नेटवर्क टैब पर जा सकते हैं और जो कुछ लोड किया गया था उसे साफ़ करें। अगली बार इसे कैश से लोड नहीं करेंगे। आपके पास अपने नवीनतम परिवर्तन होंगे।


0

यदि आप अपाचे पर एक स्थानीय सर्वर चला रहे हैं, तो आप प्राप्त कर सकते हैं कि कैशिंग समस्याओं की तरह क्या दिखता है। यह मेरे साथ तब हुआ जब मेरे पास वैग्रेंट (वर्चुअलबॉक्स) के तहत एक अपाचे सर्वर चल रहा था।

बस अपनी विन्यास फाइल ( /etc/httpd/conf/httpd.confया समतुल्य) में निम्न पंक्तियाँ जोड़ें :

#Disable image serving for network mounted drive
EnableSendfile off

ध्यान दें कि यह देखने के लिए कॉन्फ़िगर फ़ाइल के माध्यम से खोज करने योग्य है कि कहीं और EnableSendfileसेट किया गया onहै या नहीं।


0

वहाँ भी 2 (त्वरित) workarounds हैं:

  1. गुप्त मोड डिबगिंग का उपयोग करें, विंडो बंद करें और इसे फिर से खोलें।
  2. अपने ब्राउज़िंग इतिहास को हटा दें


0

मेरी राय में, क्रोम के 'निजी ब्राउज़िंग सत्र' में काम करना सबसे आसान है, यह सुनिश्चित करने के लिए कि आपकी जावास्क्रिप्ट फाइलें कैश से नहीं आती हैं।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.