2015-10-12 4 views
6

मैंने हाल ही में भाग लिया है, मुझे डेटा को स्टोर/हेरफेर करने के लिए window.name संपत्ति का उपयोग करना पड़ा था। मुझे पता चला कि, जब आप इस संपत्ति को बदलते हैं, तो यह पेज रीफ्रेश के माध्यम से बनी रहती है (हालांकि एक ही यूआरएल के साथ एक नया पेज खोलने पर नहीं)।window.name कैश क्यों किया गया है? प्रोग्रामिंग चुनौती में

एकमात्र जानकारी जो मुझे मिल सकती थी वह यह था कि यह डेटा भंडारण के रूप में कुछ ढांचे के द्वारा भी जाना जाता है और इसका उपयोग भी किया जाता है, लेकिन मुझे इस बात में रूचि होगी कि क्यों (window.name लगातार क्यों है? कोई ऐतिहासिक कारण?) और कैसे (window.name पृष्ठ परिवर्तनों के बीच और जब इसे त्याग दिया जाता है, के बीच कौन से नियम हैं?)।

जाहिर है, मेरा Google-f इन सवालों के जवाब खोजने के लिए पर्याप्त मजबूत नहीं है (एमडीएन पेज पर इसका उल्लेख भी नहीं है!) इसलिए मुझे आशा है कि शायद आप मेरी मदद कर सकें।

धन्यवाद, डेविड

उत्तर

1

मेरी समझ यह है कि विंडो ऑब्जेक्ट एक टैब के पूरे जीवनकाल में लगातार रहता है, और विभिन्न HTML दस्तावेज़ों को लोड करने वाली विंडो का प्रतिनिधित्व करता है।

प्रत्येक टैब का अपना window वस्तु है, जिसके कारण भी जब आप नेविगेट करने के लिए/विभिन्न पृष्ठों से खिड़की वस्तु, लगातार है, जबकि यदि आप एक अलग टैब window.name पर जांच अलग होगा शामिल हैं।

विभिन्न HTML पृष्ठों को खोलते समय, उनमें से अधिकतर window.name संपत्ति को ओवरराइड नहीं करते हैं, और यह पूरी तरह से वैकल्पिक है। यदि कुछ और नहीं है, तो यह वही होगा जो आप इसे छोड़ देते हैं। अधिकांश पेज केवल window.document में हेरफेर करने पर स्पर्श करते हैं।

0

नाम खिड़कियां एक के लिए, लिंक लक्ष्य के रूप में उपयोग किया जाता है:

<a href="example.html" target="some_page">some page</a> 

लिंक एक नई विंडो में एक बार खुल जाएगा, और एक ही विंडो में यह अभी भी बाद में पर मौजूद है, तो क्लिक, खिड़की के नाम के साथ यह कैसे लक्षित है।

window.open का दूसरा तर्क भी एक विंडो नाम है।

window.open('example.html', 'some_page'); 

आप अपने ब्राउज़र में असंबद्ध वेबसाइटों पर इसे आजमा सकते हैं; एक टैब के कंसोल में, window.name = 'test'; सेट करें और दूसरे में, window.open('https://example.com/', 'test'); का उपयोग करें। (आपको इसे पॉप-अप अवरोधक के माध्यम से छोड़ना पड़ सकता है।) असंबद्ध टैब को https://example.com/ पर नेविगेट करना चाहिए।

संबंधित मुद्दे