जावास्क्रिप्ट का उपयोग कर वर्तमान वेब पेज के स्थान को बदलने के लिए उपयोग करने के लिए पसंदीदा तरीका क्या है? मैंने दोनों खिड़की देखी हैं। Navigate और document.location इस्तेमाल किया। क्या व्यवहार में कोई अंतर है? क्या ब्राउज़र कार्यान्वयन में अंतर है?क्या मुझे जावास्क्रिप्ट में window.navigate या document.location का उपयोग करना चाहिए?
उत्तर
window.location.href = 'URL';
वर्तमान विंडो के स्थान को बदलने के लिए मानक कार्यान्वयन है।
वास्तव में कोई अंतर नहीं है; ऐसा करने के लगभग 5 अलग-अलग तरीके हैं। हालांकि, जिन लोगों को मैं अक्सर देखता हूं वे document.location
और window.location
हैं क्योंकि वे सभी प्रमुख ब्राउज़रों द्वारा समर्थित हैं। (मैंने व्यक्तिगत रूप से कभी भी window.navigate
उत्पादन कोड में उपयोग नहीं किया है, तो हो सकता है कि इसका बहुत अच्छा समर्थन न हो?)
document.location सभी ब्राउज़रों में काम नहीं करता है। खिड़की। स्थान करता है। –
हम्म, मेरे लिए काम करता है। यह किस ब्राउजर में काम नहीं करता है? –
फ़ायरफ़ॉक्स विंडो का समर्थन नहीं करता है। –
मैं window.location = "http://...";
के साथ जाऊंगा। मैं कुछ सालों से क्रॉस-ब्राउजर जावास्क्रिप्ट कोडिंग कर रहा हूं, और मैंने कभी भी इस दृष्टिकोण का उपयोग करके समस्याओं का अनुभव नहीं किया है।
window.navigate
और window.location.href
मेरे लिए थोड़ा अजीब लगता है।
window.location काम करता है, लेकिन यह तकनीकी रूप से गलत है क्योंकि "स्थान" एक ऑब्जेक्ट है। –
लेकिन जावास्क्रिप्ट में सबकुछ एक ऑब्जेक्ट है :) – roosteronacid
जबकि बहुत कुछ सब कुछ जावास्क्रिप्ट में एक ऑब्जेक्ट है, किसी ऑब्जेक्ट को स्ट्रिंग असाइन करना आम तौर पर इसकी गुणों में से किसी एक को मूल्य निर्धारित नहीं करता है (जैसे window.location या document.location उनके साथ करता है href संपत्ति), लेकिन इसके बजाय उस ऑब्जेक्ट को स्ट्रिंग के साथ बदल देता है। इस मामले में, मौजूदा (quirky) कार्यान्वयन और विरासत (और इतनी विरासत नहीं) सामग्री के साथ संगत होने के लिए एक ब्राउज़र quirk जोड़ा गया था। – PhistucK
document.locatio n एक (हटा दिया गया है लेकिन अभी भी अब तक) केवल पढ़ने के लिए स्ट्रिंग संपत्ति, document.url द्वारा बदल दिया है।
window.location
आपके ब्राउज़र लक्ष्य को प्रभावित करेगा। दस्तावेज़। स्थान केवल आपके ब्राउज़र और फ्रेम/आईफ्रेम पर ही प्रभावित होगा।
window.location
भी फ्रेम को प्रभावित करता है,
सबसे अच्छा तरीका मैंने पाया है:
parent.window.location.href
और भी बदतर है:
parent.document.URL
मैं एक बड़े पैमाने पर ब्राउज़र परीक्षण किया है, और कुछ कई प्लगइन के साथ दुर्लभ आईई दूसरे रूप के साथ अपरिभाषित हो जाता है।
उस तर्क से, top.window.location.href बेहतर नहीं होगा? – Orwellophile
window.navigate
कुछ ब्राउज़रों में समर्थित नहीं है, ताकि किसी से बचा जा सके। स्थान संपत्ति का उपयोग करने वाली अन्य विधियों में से सबसे विश्वसनीय और लगातार दृष्टिकोण
document.location
के लिए समर्थन भी एक बहिष्कृत विधि है, हालांकि यह भी अच्छा है। मैं इस विधि का उपयोग थोड़ी देर के लिए बिना किसी समस्या के कर रहा हूं। आप अधिक जानकारी के लिए यहां उल्लेख कर सकते हैं:
https://developer.mozilla.org/en-US/docs/Web/API/document.location
आप
window.location.href =Url;
यह वास्तव में स्वीकार नहीं किया गया है, और स्वीकार किए गए उत्तर को गुणा करें ... –
आप आगे भी जा सकते हैं और तर्क दे सकते हैं कि आपने केवल स्वीकार्य उत्तर को चोरी किया है – Liam
का उपयोग कर अपने पेज स्थानांतरित कर सकते हैं आप एक संदर्भ संकेत मिलता है कि window.location.href मानक कार्यान्वयन है है? और क्या वह मानक सभी ब्राउज़रों के लिए समान रूप से लागू होता है? आप निश्चित रूप से जानकार लगते हैं और 15+ वोट (प्लस स्वीकृत उत्तर) इसे और अधिक आधिकारिक बनाने में मदद करते हैं, हालांकि मुझे लगता है कि दावा करने के लिए ब्राउज़र विकास टीमों से दस्तावेज़ देखना बेहतर होगा। – Goyuix
@ गोयिक्स, यह कहने के लिए शायद अधिक सटीक है कि 'window.location.href' पूर्ण कार्यान्वयन है, लेकिन' window.location' एक ही चीज़ को पूरा करता है। Http://docs.sun.com/source/816-6408-10/location देखें।एचटीएम: "यदि आप किसी ऑब्जेक्ट की 'स्थान' प्रॉपर्टी को स्ट्रिंग असाइन करते हैं, तो जावास्क्रिप्ट एक 'लोकेशन' ऑब्जेक्ट बनाता है और उस स्ट्रिंग को अपनी 'href' प्रॉपर्टी में असाइन करता है।" –
ऐसा लगता है कि इन लोगों ने यह व्यक्तिगत वरीयता तय की है: https://developer.mozilla.org/Talk:en/DOM/window.location। या नीचे के उदाहरण को देखें, वे केवल 'window.location' का उपयोग करते हैं लेकिन यह किसी भी तरह से इंगित नहीं करता है: https://developer.mozilla.org/en/window.location। –