नेविगेटर, स्क्रीन और स्थान ऑब्जेक्ट - ब्राउज़र और स्क्रीन रिज़ॉल्यूशन की जानकारी - वर्तमान URL। प्रोग्रामिंग ब्राउज़र विंडो गुण जावास्क्रिप्ट विंडो नेविगेटर ऑब्जेक्ट ब्राउज़र नाम

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


चित्र: 4.2।

संपत्ति स्थान विंडो ऑब्जेक्ट अपने आप में एक क्लास ऑब्जेक्ट है स्थान... कक्षा स्थान, बदले में, URL वर्ग का एक उपवर्ग है, जिसमें क्लास ऑब्जेक्ट भी शामिल हैं क्षेत्र और लिंक। वस्तुओं स्थान URL ऑब्जेक्ट्स के सभी गुण इनहेरिट करते हैं, जिससे आप URL स्कीम के किसी भी भाग को एक्सेस कर सकते हैं। URL ऑब्जेक्ट क्लास की अधिक जानकारी के लिए, प्रोग्रामिंग हाइपरटेक्स्ट नेविगेशन देखें।

जावास्क्रिप्ट के साथ पिछड़े संगतता के लिए, भाषा भी संपत्ति का समर्थन करती है window.document। स्थानजो वर्तमान में पूरी तरह से विंडो को डुप्लिकेट करता है। स्थान अपने सभी गुणों और विधियों के साथ। अब विंडो ऑब्जेक्ट के गुणों और तरीकों पर विचार करें। स्थान (इस वस्तु से जुड़ी कोई घटना नहीं है)।

स्थान ऑब्जेक्ट गुण

उन्हें एक उदाहरण के साथ प्रदर्शित करना आसान है। मान लीजिए कि ब्राउज़र यहां स्थित एक पृष्ठ प्रदर्शित कर रहा है:

फिर वस्तु के गुण स्थान निम्नलिखित मान लें:

window.location.href \u003d "http://www.site.ru:80/dir/page.cgi?product\u003dphone&id\u003d3#mark" window.location.protocol \u003d "http:" window.location.hostname \u003d " www.site.ru "window.location.port \u003d 80 window.location.host \u003d" www.site.ru:80 "window.location.pathname \u003d" dir / page.cgi "window.location.search \u003d"? उत्पाद? \u003d फोन और आईडी \u003d 3 "window.location.hash \u003d" #mark "

जैसा कि पिछले व्याख्यानों में बताया गया है, दोनों के उपयोग से वस्तु गुणों को प्राप्त किया जा सकता है डॉट नोटेशन (जैसा कि ऊपर) और साथ ब्रैकेट संकेतनउदाहरण के लिए: विंडो। स्थान ["मेजबान"].

स्थान वस्तु विधियाँ

वस्तु विधियाँ स्थान पेज लोडिंग और रीलोडिंग को नियंत्रित करने के लिए डिज़ाइन किए गए हैं। इस नियंत्रण का अर्थ है कि आप वर्तमान दस्तावेज़ (विधि) को पुनः लोड कर सकते हैं पुनः लोड करें ()), या एक नया लोड (विधि) बदलने के ()).

window.location.reload (true);

तरीका पुनः लोड करें () टूलबार में रीलोड बटन पर क्लिक करने पर ब्राउज़र व्यवहार को पूरी तरह से अनुकरण करता है। यदि आप किसी तर्क के बिना विधि को कॉल करते हैं या इसे सही के बराबर निर्दिष्ट करते हैं, तो ब्राउज़र दस्तावेज़ के अंतिम संशोधन के समय की जांच करेगा और इसे या तो कैश से डाउनलोड करेगा (यदि दस्तावेज़ को संशोधित नहीं किया गया है) या सर्वर से। यह व्यवहार ब्राउज़र के रीलोड बटन (इंटरनेट एक्सप्लोरर में F5 कुंजी) के एक साधारण क्लिक से मेल खाता है। यदि आप एक तर्क के रूप में गलत निर्दिष्ट करते हैं, तो ब्राउज़र सर्वर से वर्तमान दस्तावेज़ को फिर से लोड करेगा, चाहे जो भी हो। यह व्यवहार एक ही समय में Shift कुंजी और ब्राउज़र रीलोड बटन (या इंटरनेट एक्सप्लोरर में Ctrl + F5) को दबाने से मेल खाता है।

वस्तु का उपयोग करना स्थान, आप दो तरीकों से एक नए पृष्ठ पर जा सकते हैं:

window.location.href \u003d "http://www.newsite.ru/"; window.location.replace ("http://www.newsite.ru/");

उनके बीच का अंतर पेज विज़िट विंडो के इतिहास में इस क्रिया के प्रदर्शन में है। इतिहास... पहले मामले में, "http://www.newsite.ru/" पते वाले एक नए तत्व को विज़िट के इतिहास में जोड़ा जाएगा, ताकि यदि आप चाहें, तो आप पिछले पृष्ठ पर वापस जाने के लिए ब्राउज़र पैनल पर बैक बटन दबा सकते हैं। दूसरे मामले में, नया पता "http://www.newsite.ru/" यात्राओं के इतिहास में पिछले एक को बदल देगा, और पिछला बटन दबाकर पिछले पृष्ठ पर लौटना असंभव होगा।

यात्राओं का इतिहास (इतिहास)

वर्ल्ड वाइड वेब पर पृष्ठों की यात्राओं का इतिहास उपयोगकर्ता को उस पृष्ठ पर वापस जाने की अनुमति देता है जिसे वह पहले दिए गए ब्राउज़र विंडो में देखता था। जावास्क्रिप्ट का ब्राउज़िंग इतिहास एक विंडो ऑब्जेक्ट में बदल जाता है। इतिहास... यह ऑब्जेक्ट उन URL की एक सरणी को इंगित करता है, जो उपयोगकर्ता ने देखी है और ब्राउज़र मेनू से गो मोड का चयन करके पहुँचा जा सकता है। वस्तु विधियाँ इतिहास आपको इस सरणी से URL का उपयोग करके पृष्ठ लोड करने की अनुमति देता है।

ब्राउज़र सुरक्षा समस्याओं से बचने के लिए, आप केवल इंडेक्स का उपयोग करके इतिहास के माध्यम से नेविगेट कर सकते हैं। इस स्थिति में, प्रोग्रामर के रूप में URL प्रोग्रामर के लिए उपलब्ध नहीं है। अक्सर इस ऑब्जेक्ट का उपयोग उन उदाहरणों या पृष्ठों में किया जाता है जिन्हें कई अलग-अलग पृष्ठों से जोड़ा जा सकता है, यह मानते हुए कि आप उस पृष्ठ पर वापस आ सकते हैं जहाँ से उदाहरण लोड किया जाएगा:

यह कोड "बैक" बटन को प्रदर्शित करता है, जिस पर क्लिक करके, हम पिछले पृष्ठ पर लौट आएंगे। विधि एक समान तरीके से काम करती है इतिहास। आगे (), हमें अगले विज़िट किए गए पृष्ठ पर ले जाए।

एक गो () विधि भी है, जिसमें एक पूर्णांक तर्क है जो आपको अपने ब्राउज़िंग इतिहास में कुछ कदम आगे या पीछे कूदने की अनुमति देता है। उदाहरण के लिए, इतिहास .go (-3) ब्राउज़िंग इतिहास में हमें 3 कदम पीछे ले जाएगा। इस मामले में, तरीके वापस () और आगे () क्रमशः तर्क -1 और 1 के साथ () विधि के बराबर हैं। कॉल इतिहास .go (0) वर्तमान पृष्ठ को पुनः लोड करेगा।

ब्राउज़र प्रकार (नाविक)

अक्सर कार्य एक विशिष्ट दर्शक (ब्राउज़र) के लिए एक पृष्ठ स्थापित करने के लिए उठता है। इस मामले में, दो विकल्प संभव हैं: सर्वर साइड पर या क्लाइंट साइड पर ब्राउज़र का प्रकार निर्धारित करना। बाद के लिए, वस्तुओं के जावास्क्रिप्ट शस्त्रागार में एक खिड़की वस्तु है। नाविक... इस ऑब्जेक्ट के सबसे महत्वपूर्ण गुण नीचे सूचीबद्ध हैं।

आइए दर्शक के प्रकार को निर्धारित करने का एक सरल उदाहरण देखें।

एक वस्तु नाविक वेब ब्राउजर प्रोग्राम को ही एक्सेस करने का काम करता है। एक वस्तु के साथ इसे भ्रमित मत करो खिड़कीजो वर्तमान वेब ब्राउज़र विंडो और नेटस्केप नेविगेटर प्रोग्राम के नाम का प्रतिनिधित्व करता है।

appCodeName

वेब ब्राउज़र प्रोग्राम के लिए कोड का नाम देता है। इंटरनेट एक्सप्लोरर और नेविगेटर दोनों के लिए, यह स्ट्रिंग "मोज़िला" लौटाएगा। कमबख्त।

appMinorVersion

वेब ब्राउज़र की संस्करण संख्या का सबसे कम महत्वपूर्ण अंक लौटाता है। उदाहरण के लिए, इंटरनेट एक्सप्लोरर 5.0 के लिए यह "0" और 5.5 के लिए "5" वापस आएगा।

4.0 से केवल इंटरनेट एक्सप्लोरर का समर्थन किया

एप्लिकेशन का नाम

वेब ब्राउज़र प्रोग्राम का नाम हो जाता है, जैसे "नेटस्केप" या "माइक्रोसॉफ्ट इंटरनेट एक्सप्लोरर"।

एप्लिकेशन वेरीज़न

वेब ब्राउज़र प्रोग्राम का संस्करण लौटाता है।

browserLanguage

वेब ब्राउज़र प्रोग्राम के लिए कोड लौटाता है।

cookieEnabled

यदि वेब ब्राउज़र को कुकीज़ स्वीकार करने की अनुमति है तो यह सही है। 4.0 के बाद से केवल IE का समर्थन किया

cpuClass

क्लाइंट कंप्यूटर के प्रोसेसर वर्ग को प्राप्त होता है, जैसे "x86" या "अल्फा"। 4.0 के बाद से केवल IE का समर्थन किया

भाषा: हिन्दी

वेब ब्राउज़र प्रोग्राम का भाषा कोड लौटाता है। 4.0 के बाद से केवल NN समर्थित है

ऑनलाइन

यदि ग्राहक वर्तमान में इंटरनेट (ऑनलाइन) से जुड़ा है और डिस्कनेक्ट किया गया है तो गलत है।

4.0 के बाद से केवल IE का समर्थन किया

मंच

क्लाइंट प्लेटफ़ॉर्म का नाम लौटाता है, उदाहरण के लिए "Win32"।

systemLanguage

क्लाइंट ऑपरेटिंग सिस्टम का भाषा कोड लौटाता है। 4.0 के बाद से केवल IE का समर्थन किया

उपभोक्ता अभिकर्ता

क्लाइंट के वेब ब्राउज़र की पहचान करने वाला एक स्ट्रिंग लौटाता है। यह AppCodeName और AppVersion संपत्ति मूल्यों का एक संयोजन है।

उपयोगकर्ता भाषा

BrowserLanguage के समान।

4.0 के बाद से केवल IE का समर्थन किया

एक वस्तु नाविक विधि का भी समर्थन करता है javaEnabled ()यदि उपयोगकर्ता वेब ब्राउज़र पर जावास्क्रिप्ट स्क्रिप्टिंग की अनुमति देता है तो यह सच है।

मैं संपत्ति के बारे में थोड़ा और विस्तार से कहना चाहूंगा एप्लिकेशन वेरीज़न, या बल्कि, वह मान जो वापस लौटाता है। बात यह है कि IE और NN के अलग-अलग मूल्य होंगे।

यह नेविगेटर के लिए प्रारूप है:

(संस्करण) [(भाषा)] ((ऑपरेटिंग सिस्टम); यू | आई)

यहाँ (संस्करण) वेब ब्राउज़र के संस्करण का प्रतिनिधित्व करता है (जुबान) - कार्यक्रम की भाषा (लेकिन अनुपस्थित हो सकती है), (ऑपरेटिंग सिस्टम) - ग्राहक के ऑपरेटिंग सिस्टम का पदनाम, उदाहरण के लिए, "Win96", "Win16" या "WinNT", पत्र "U" - कार्यक्रम का अमेरिकी संस्करण, और "I" - अंतर्राष्ट्रीय।

उदाहरण के लिए:

4.0 (Win95; मैं)

Internet Explorer में एक गुण मान आउटपुट स्वरूप होता है एप्लिकेशन वेरीज़न अन्य:

(संगत नेविगेटर संस्करण) (संगत; (संस्करण); (ऑपरेटिंग सिस्टम))

यहाँ (ऑपरेटिंग सिस्टम) "विंडोज 3.1", "विंडोज 3.11", "विंडोज 95" या "विंडोज एनटी" हो सकता है।

2.0 (संगत; 3.01; Win95)

संपत्ति उपभोक्ता अभिकर्ता उस मान को लौटाता है जिसमें प्रारूप है:

(AppCodeName मान) / (AppVersion मान)

पिछले दो उदाहरणों के लिए, हमें निम्नलिखित मूल्य मिलते हैं:

मोज़िला / 4.0 (Win95; मैं) मोज़िला / 2.0 (संगत; 3.01; Win95)

यह वस्तु विशुद्ध रूप से सूचनात्मक है। यह ब्राउज़र के बारे में जानकारी प्रदान करता है।

नेविगेटर का उपयोग करने के एक उदाहरण के रूप में, आइए सभी ब्राउज़र गुण प्रदर्शित करें:

< script type= "text/javascript" > दस्तावेज़। writeln (); (नेविगेटर में var प्रॉपर्टी) (दस्तावेज़ लिखें। "" "+ इं +: "); दस्तावेज़। writeln (नाविक [संपत्ति]);)

इतिहास की वस्तु

2 बटन के लिए जिम्मेदार: 'आगे' और 'पीछे'। ब्राउज़र, पृष्ठ से पृष्ठ तक लिंक के बाद, इन संक्रमणों के इतिहास को बचाता है। उन। आप एक पृष्ठ वापस जा सकते हैं या एक पृष्ठ आगे जा सकते हैं। विधियों और गुणों का उपयोग करके javaScript से इन बटनों को दबाने का अनुकरण करना संभव है।

वस्तु की एक संपत्ति है - लंबाई - लंबाई।

ऑब्जेक्ट में विधियाँ हैं: go (), back (), फॉरवर्ड ()।

आइए एक उदाहरण पर विचार करें:

< script type= "text/javascript> कार्य लंबाई () (// संक्रमणों की संख्या को दर्शाता है चेतावनी ("संक्रमणों की संख्या:" + history.length);) समारोह वापस () (// वापस जाओ history.back ()) कार्य आगे () (// आगे बढ़ना 1 संक्रमण history.forward ();)

स्थान वस्तु

पता पट्टी के लिए जिम्मेदार। आपको पृष्ठ का पता प्राप्त करने और बदलने की अनुमति देता है। जैसे ही पता बदलता है, ब्राउज़र स्वचालित रूप से नए पते पर पहुंच जाता है। उन। आप पते पर संक्रमण का अनुकरण कर सकते हैं।

वहाँ है गुण:

  • हैश लेबल है।
  • होस्ट - होस्टनाम + पोर्ट।
  • होस्टनाम साइट पते में www और.ru है।
  • href - इसमें एड्रेस बार होता है। यहां आप एक और पता लिख \u200b\u200bसकते हैं, और ब्राउज़र इस पते पर जाएगा।
  • pathname पृष्ठ ही है।
  • पोर्ट - पोस्ट का इस्तेमाल किया।
  • प्रोटोकॉल http: // या ftp: // है।
  • खोज - प्रश्न चिह्न के बाद पैरामीटर।

वहाँ है तरीकों:

  • असाइन करें () - निर्दिष्ट पते पर जाएं।
  • पुनः लोड () - 'ताज़ा' बटन दबाने की नकल।
  • प्रतिस्थापित करें () - निर्दिष्ट पते पर जाएं, लेकिन खुले पृष्ठ पर कोई बैक बटन नहीं है, अर्थात इतिहास में इस पृष्ठ को नहीं बचाता है।

स्क्रीन वस्तु

यह विशुद्ध रूप से सूचनात्मक वस्तु है। यह पिक्सेल में उपयोगकर्ता की स्क्रीन के आकार की रिपोर्ट करता है। इसकी कोई विधियाँ नहीं हैं, केवल गुण हैं:

  • उपलब्ध स्क्रीन ऊंचाई उपलब्ध है।
  • उपलब्ध स्क्रीन चौड़ाई उपलब्ध है।
  • colorDepth - रंगों के भंडारण के लिए आवंटित बिट्स की संख्या (वर्तमान में उपयोग नहीं की गई)।
  • ऊँचाई - उपयोगकर्ता की स्क्रीन की ऊँचाई।
  • चौड़ाई - उपयोगकर्ता की स्क्रीन की चौड़ाई।
  • updateInterval - CRT स्क्रीन रिफ्रेश रेट (उपयोग नहीं किया गया)।

नाविक वस्तु में समाहित है उपयोगकर्ता के ब्राउज़र के बारे में जानकारी (विशेष रूप से - कुकीज़ का उपयोग उपलब्ध है और जावा समर्थन सक्षम है).

नेविगेटर ऑब्जेक्ट आपको ऑपरेटिंग सिस्टम के प्रकार को निर्धारित करने की अनुमति भी देता है।

नेविगेटर ऑब्जेक्ट के साथ काम करने की सुविधा के लिए, चलो स्क्रीन पर इसके सभी गुणों को प्रदर्शित करते हैं। पिछले पाठ से सामग्री को याद रखना।

ब्राउज़र जानकारी - userAgent संपत्ति;

ब्राउज़र भाषा - भाषा की संपत्ति;

ऑपरेटिंग सिस्टम नाम - ऑस्पु संपत्ति;

क्या कुकीज़ सक्षम हैं - संपत्ति कुकीईबल डी;

चाहे उपयोगकर्ता इंटरनेट से जुड़ा हो - ऑनलाइन संपत्ति।

वस्तु के गुणों तक पहुँचना नेविगेटर एक डॉट के माध्यम से किया जाता है।

स्क्रीन ऑब्जेक्ट उपयोगकर्ता के स्क्रीन रिज़ॉल्यूशन, रंग की गहराई, आदि के बारे में डेटा प्राप्त करने में मदद करेगा।

हम स्क्रीन ऑब्जेक्ट के साथ भी ऐसा ही करेंगे: पहले, हम इसके सभी गुणों को प्रदर्शित करेंगे।

अब, स्क्रीन ऑब्जेक्ट की ऊंचाई और चौड़ाई के गुणों का उपयोग करते हुए, हम स्क्रीन रिज़ॉल्यूशन के बारे में जानकारी प्राप्त करते हैं - पिक्सल में इसकी ऊंचाई और चौड़ाई। और रंग पैलेट की थोड़ी गहराई के बारे में भी - कलरडेप संपत्ति।

स्थान वस्तु url देता है वर्तमान उपयोगकर्ता विंडो।

इसमें वर्तमान पते के भागों और घटकों के बारे में डेटा शामिल हैं: होस्टनाम, पोर्ट नंबर, प्रोटोकॉल, आदि।

वस्तु गुण स्थान।

हम वर्तमान दस्तावेज़ का URL प्रदर्शित करने के लिए स्थान ऑब्जेक्ट की href प्रॉपर्टी का उपयोग करेंगे।

आइए इस पाठ के लिए अपना होमवर्क करें।

यह पता करें कि वह व्यक्ति किस ब्राउज़र पर आपके पृष्ठ पर आया था और ब्राउज़र पर निर्भर करता है:

अगर फ़ायरफ़ॉक्स: "आपका ब्राउज़र फ़ायरफ़ॉक्स है।"
यदि ओपेरा: "आपका ब्राउज़र ओपेरा है।"
यदि क्रोम: "आपका ब्राउज़र क्रोम है।"

इस होमवर्क को हल करने के लिए आपको चाहिए:

नेविगेटर ऑब्जेक्ट के उपयोगकर्ता संपत्ति का उपयोग करके वर्तमान ब्राउज़र के बारे में जानकारी प्राप्त करें।

इस समस्या को हल करने के समय, मुझे ब्राउज़र फ़ायरफ़ॉक्स, ओपेरा और क्रोम के बारे में निम्न डेटा प्राप्त हुआ।

मोज़िला / 5.0 (विंडोज NT 6.1; WOW64; आरवी: 56.0) गेको / 20100101 फ़ायरफ़ॉक्स / 56.0

मोज़िला / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, जैसे गेको) Chrome /61.0.3163.100 सफारी / 537.36 OPR /48.0.26.3.39

मोज़िला / 5.0 (विंडोज NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, गेको की तरह) Chrome /61.0.3163.100 सफारी / 537.36

नियमित अभिव्यक्तियों का उपयोग करके ब्राउज़र नाम खोजें उनके बारे में जानकारी से.