जवाबों:
यदि मुझे सही से याद है, तो window.location.reload()POST डेटा के साथ वर्तमान पृष्ठ को पुनः लोड window.location.href=window.location.hrefकरता है , जबकि POST डेटा को शामिल नहीं करता है।
जैसा कि नीचे टिप्पणी में @ W3Max द्वारा उल्लेख किया गया है, window.location.href=window.location.hrefयदि URL में एक एंकर (#) है तो आपको पृष्ठ को फिर से लोड नहीं करना होगा - आपको window.location.reload()इस मामले में उपयोग करना होगा ।
इसके अलावा, जैसा कि @Mic द्वारा नीचे उल्लेख किया गया है, window.location.reload()एक अतिरिक्त तर्क लेता है skipCacheताकि window.location.reload(true)ब्राउज़र का उपयोग करके कैश को छोड़ दें और सर्वर से पृष्ठ को फिर से लोड करें। window.location.reload(false)यदि इसके विपरीत होगा, और यदि संभव हो तो पेज को कैश से लोड करें।
यदि आप कहते हैं window.location.reload(true)कि ब्राउज़र कैश को छोड़ देगा और सर्वर से पृष्ठ को फिर से लोड करेगा। window.location.reload(false)इसके विपरीत करेंगे।
नोट: defaultमान window.location.reload()हैfalse
window.location.href = window.location.hrefट्रिक का उपयोग कर रहा था।
location.reload()location.reload(false)location.reload(true)
अंतर यह है कि
window.location = document.URL;
यदि URL में कोई हैश (#) है (इसके बाद या इसके बिना कुछ), तो पृष्ठ को फिर से लोड नहीं किया जाएगा
window.location.reload();
पेज पुनः लोड करेगा।
location.href = location.href, लेकिन मैं सिर्फ उस सटीक व्यवहार पर ध्यान दिया और शब्द का प्रसार करने के लिए SO पर आया। location.reload()इसके बजाय बस का उपयोग करें ।
window.location.replace(window.location.pathname);
यदि आप बूलियन को पुनः लोड करने के लिए जोड़ते हैं तो
window.location.reload(true)यह सर्वर से लोड होगा।
यह स्पष्ट नहीं है कि यह बूलियन कितना समर्थित है, डब्ल्यू 3 ऑर्ग का उल्लेख है कि एनएस इसका समर्थन करता था
वहाँ खिड़की की सामग्री के बीच एक अंतर हो सकता है। Location.href और document.URL - वहाँ कम से कम स्थान और गैर-मानक और पदावनत दस्तावेज़ के बीच एक अंतर हुआ करता था। आवंटन, जिसे पुनर्वितरण के साथ करना था, लेकिन वह वास्तव में अंतिम सहस्राब्दी है।
प्रलेखन उद्देश्यों के लिए, मैं window.location.reload () का उपयोग करूंगा क्योंकि वह वही है जो आप करना चाहते हैं।
जैसा कि कहा गया है, जब URL में हैश (#) है, तो href को संशोधित करके पृष्ठ को पुनः लोड नहीं किया जाएगा। इस प्रकार, मैं इसका उपयोग नियमित अभिव्यक्तियों के बजाय इसे पुनः लोड करने के लिए करता हूं:
if (!window.location.hash) {
window.location.href = window.location.href;
} else {
window.location.reload();
}
इस सवाल के पार आईई में विशेष रूप से IE9 में कुछ असामान्य व्यवहार पर शोध किया, पुराने संस्करणों की जाँच नहीं की। ऐसा लगता है
window.location.reload();
रिफ्रेश में परिणाम जो एक सेकंड के लिए पूरी स्क्रीन को खाली कर देता है, जहाँ पर
window.location = document.URL;
पृष्ठ को अधिक तेज़ी से ताज़ा करता है, लगभग अगोचर रूप से।
थोड़ा और अधिक शोध करना, और फ़िडलर के साथ कुछ प्रयोग करना, ऐसा लगता है कि window.location.reload()सर्वर से कैश और फिर से लोड करना होगा चाहे आप इसके साथ बूलियन पास करें या नहीं, इसमें आपकी सभी संपत्तियां (चित्र, स्क्रिप्ट, स्टाइल शीट) शामिल हैं। आदि) फिर से। इसलिए यदि आप केवल पृष्ठ को रीफ़्रेश करना चाहते हैं तो HTML window.location = document.URLबहुत जल्दी और कम ट्रैफ़िक के साथ लौटेगा।
ब्राउज़रों के बीच व्यवहार में एक अंतर यह है कि जब IE9 पुनः लोड विधि का उपयोग करता है तो यह दृश्य पृष्ठ को साफ़ करता है और प्रतीत होता है कि इसे खरोंच से पुनर्निर्मित किया जाता है, जहां FF और क्रोम प्रतीक्षा करते हैं जब तक कि वे नई संपत्ति प्राप्त नहीं करते हैं और यदि वे भिन्न हैं, तो उनका पुनर्निर्माण करते हैं।
फ़ायरफ़ॉक्स (12.0) में एक अंतर यह है कि एक पोस्ट से दिए गए पृष्ठ पर, पुनः लोड () एक चेतावनी को पॉप करेगा और एक पुन: पोस्ट करेगा, जबकि एक URL असाइनमेंट एक GET करेगा।
Google Chrome दोनों के लिए एक GET करता है।
JSF का उपयोग करते हुए, अब मैं सत्र समाप्त होने के बाद रिफ्रेश के साथ समस्या का सामना कर रहा हूं : पृष्ठ पुनः लोड करने के बाद प्राइमफेस व्यू व्यूएक्सपायर्ड एक्सफ़ेक्शन और कुछ जांच के साथ मुझे फ़ायर्फ़ॉक्स में एक अंतर मिला है:
कॉलिंग window.location.reload()एफएफ पर ताज़ा आइकन पर क्लिक करने जैसे काम करता है, यह लाइन जोड़ता है
Cache-Control max-age=0
सेटिंग के दौरान window.location.hrefURL लाइन में ENTER दबाने जैसा काम करता है, यह उस लाइन को नहीं भेजता है।
यद्यपि दोनों को GET के रूप में भेजा जाता है, पहला (पुनः लोड) पिछले डेटा को पुनर्स्थापित कर रहा है और एप्लिकेशन असंगत स्थिति में है।
लगभग 3 वर्षों के मेरे अनुभव से, मुझे कोई अंतर नहीं मिला ...
संपादित करें: हाँ, जैसा कि उनमें से एक ने यहां कहा है, केवल एक बूलियन पैरामीटर को window.location.reload () में अंतर करना है। यदि आप सही पास करते हैं , तो ब्राउज़र एक ताज़ा पृष्ठ लोड करता है, लेकिन यदि गलत है , तो कैश संस्करण लोड किया गया है ...
हमारे मामले में हम सिर्फ वेबव्यू में पेज को फिर से लोड करना चाहते हैं और कुछ कारणों से हम यह पता नहीं लगा सके कि क्यों! हम लगभग हर उस समाधान को आजमाते हैं जो वेब पर है, लेकिन location.reload () या वैकल्पिक समाधानों जैसे window.location.reload (), location.reload (true), ... का उपयोग करके पुन: लोड नहीं होने से अटक गया है ...!
यहाँ हमारे सरल समाधान है:
बस इस तरह खाली "href" अटेंशन मान के साथ एक <a> टैग का उपयोग करें:
< a href="" ...>Click Me</a>
(कुछ मामलों में आपको पुनः लोड करने के लिए लक्ष्य के क्लिक पर "रिटर्न ट्रू" का उपयोग करना होगा)
अधिक जानकारी के लिए इस प्रश्न की जाँच करें: क्या खाली href मान्य है?
window.location.href, इसने Android 5.1 से वेबव्यू में मेरे जीवन को बचाया। पृष्ठ Android से इस संस्करण में location.reload () के साथ पुनः लोड नहीं होता है।