कोड से पेज रिफ्रेश क्यों करें?
\n\nकल्पना करें: आप एक चैट, ऑनलाइन गेम या फीडबैक फॉर्म बना रहे हैं। उपयोगकर्ता ने डेटा सबमिट किया - और सब कुछ ठहर गया। परिणाम देखने के लिए, उसे F5 दबाना होगा या ब्राउज़र के बटन पर क्लिक करना होगा। असुविधाजनक, है ना?
\n\nअब कल्पना करें कि पेज अपने आप रिफ्रेश हो जाता है - जैसे ही कार्रवाई पूरी होती है। जादू? नहीं, यह शुद्ध JavaScript और कोड की कुछ पंक्तियाँ हैं। आज हम इसी बारे में बात करेंगे।
\n\nपहली नज़र में विषय सरल है, लेकिन अनुभवी डेवलपर्स भी कभी-कभी location.reload() और window.location.href विधियों में भ्रमित हो जाते हैं। हम सभी विकल्पों, छिपी समस्याओं और सर्वोत्तम प्रथाओं पर चर्चा करेंगे। चलिए शुरू करते हैं!
मुख्य पात्र: location.reload()
\n\nजावास्क्रिप्ट के माध्यम से पेज को रिफ्रेश करने का सबसे लोकप्रिय और सही तरीका location.reload() विधि है। यह बिल्कुल वही करता है जो इसके नाम से पता चलता है: वर्तमान दस्तावेज़ को रीलोड करता है।
// सबसे सरल विकल्प\nlocation.reload();\n\nलेकिन एक बारीकी है। यह विधि एक वैकल्पिक पैरामीटर लेती है - बूलियन मान forceGet।
- \n
location.reload()- यदि संभव हो तो ब्राउज़र कैश का उपयोग करके पेज को रीलोड करता है। \n location.reload(true)- कैश को अनदेखा करते हुए सर्वर से फोर्स्ड लोडिंग। \n
अंतर तब ध्यान देने योग्य होता है जब आप डायनामिक डेटा के साथ काम कर रहे हों। यदि आपको पेज का ताज़ा संस्करण प्राप्त करने की गारंटी चाहिए - तो true का उपयोग करें।
तुलना: reload() बनाम window.location.href
\n\nStack Overflow पर अक्सर पूछा जाता है: "क्या मैं बस window.location.href = window.location.href असाइन कर सकता हूँ?"
संक्षिप्त उत्तर: कर सकते हैं, लेकिन यह एक क्रच है। विस्तृत उत्तर - तालिका देखें।
\n\nपेज रीलोड करने की विधियों की तुलना तालिका
\n\n| विधि | \nव्यवहार | \nकैश का उपयोग करता है | \nअनुशंसित | \n
|---|---|---|---|
location.reload() | \n पेज को रीलोड करता है | \nहाँ (डिफ़ॉल्ट रूप से) | \n✅ हाँ | \n
location.reload(true) | \n सर्वर से फोर्स्ड रीलोड | \nनहीं | \n✅ हाँ | \n
window.location.href = window.location.href | \n उसी पेज पर रीडायरेक्ट करता है | \nहाँ | \n⚠️ सावधानी के साथ | \n
window.location = window.location | \n वही, छोटा | \nहाँ | \n⚠️ सावधानी के साथ | \n
history.go(0) | \n इतिहास में वर्तमान पेज पर जाता है | \nहाँ | \n❌ पुराना | \n
जैसा कि आप देख सकते हैं, location.reload() सबसे विश्वसनीय और पूर्वानुमानित तरीका है। अन्य विकल्प विभिन्न ब्राउज़रों में अस्थिर रूप से काम कर सकते हैं।
निर्धारित अंतराल पर स्वचालित रिफ्रेश
\n\nकभी-कभी पेज को स्वचालित रूप से रिफ्रेश करने की आवश्यकता होती है - उदाहरण के लिए, मुद्रा दर या सर्वर स्थिति प्रदर्शित करने के लिए। यहाँ setTimeout या setInterval मदद करता है।
लोड होने के 5 सेकंड बाद रिफ्रेश
\n\n// 5 सेकंड प्रतीक्षा करें, फिर रीलोड करें\nsetTimeout(function() {\n location.reload(true);\n}, 5000);\n\nहर 30 सेकंड में आवधिक रिफ्रेश
\n\n// हर 30 सेकंड में पेज रिफ्रेश करें\nsetInterval(function() {\n location.reload();\n}, 30000);\n\nमहत्वपूर्ण: स्वचालित रीलोड का दुरुपयोग न करें। यदि पेज