हिन्दी में वैबसाइट डिजाइनिंग सीखना चाहते हैं तो हमारी साइट code sikho hindi को Subscribe करें

JavaScript and Cookies Full Details

 JavaScript and Cookies Full Details

JavaScript and Cookies Full Details


जावास्क्रिप्ट और कुकीज़


कुकीज़ क्या हैं?


वेब ब्राउज़र और सर्वर संचार के लिए HTTP प्रोटोकॉल का उपयोग करते हैं और HTTP एक स्टेटलेस प्रोटोकॉल है। लेकिन एक व्यावसायिक वेबसाइट के लिए, विभिन्न पृष्ठों के बीच सत्र की जानकारी बनाए रखना आवश्यक है। उदाहरण के लिए, एक उपयोगकर्ता पंजीकरण कई पृष्ठों को पूरा करने के बाद समाप्त होता है। लेकिन सभी वेब पेजों पर उपयोगकर्ताओं की सत्र जानकारी को कैसे बनाए रखा जाए।


कई स्थितियों में, बेहतर विज़िटर अनुभव या साइट आँकड़ों के लिए आवश्यक प्राथमिकताओं, ख़रीदों, कमीशनों और अन्य सूचनाओं को याद रखने और ट्रैक करने के लिए कुकीज़ का उपयोग करना सबसे प्रभावी तरीका है।


यह काम किस प्रकार करता है ?


आपका सर्वर विज़िटर के ब्राउज़र को कुकी के रूप में कुछ डेटा भेजता है। ब्राउज़र कुकी को स्वीकार कर सकता है। यदि ऐसा होता है, तो इसे विज़िटर की हार्ड ड्राइव पर एक सादे पाठ रिकॉर्ड के रूप में संग्रहीत किया जाता है। अब, जब विज़िटर आपकी साइट के किसी अन्य पृष्ठ पर आता है, तो ब्राउज़र उसी कुकी को पुनर्प्राप्ति के लिए सर्वर पर भेजता है। एक बार पुनः प्राप्त करने के बाद, आपका सर्वर जानता है/याद रखता है कि पहले क्या संग्रहीत किया गया था।


कुकीज़ 5 चर-लंबाई वाले क्षेत्रों का एक सादा पाठ डेटा रिकॉर्ड है -


  • समय सीमा समाप्त - कुकी की समय सीमा समाप्त होने की तिथि। यदि यह रिक्त है, तो विज़िटर के ब्राउज़र से बाहर निकलने पर कुकी समाप्त हो जाएगी।
  • Domain – आपकी साइट का Domain Name।
  • पथ - निर्देशिका या वेब पेज का पथ जो कुकी सेट करता है। यदि आप किसी निर्देशिका या पृष्ठ से कुकी को पुनः प्राप्त करना चाहते हैं तो यह रिक्त हो सकता है।
  • सुरक्षित - यदि इस फ़ील्ड में "सुरक्षित" शब्द है, तो कुकी को केवल एक सुरक्षित सर्वर के साथ पुनर्प्राप्त किया जा सकता है। यदि यह फ़ील्ड रिक्त है, तो ऐसा कोई प्रतिबंध मौजूद नहीं है।
  • नाम = मान - कुकीज़ को की-वैल्यू पेयर के रूप में सेट और पुनर्प्राप्त किया जाता है


कुकीज़ मूल रूप से CGI प्रोग्रामिंग के लिए डिज़ाइन की गई थीं। कुकी में निहित डेटा स्वचालित रूप से वेब ब्राउज़र और वेब सर्वर के बीच प्रसारित होता है, इसलिए सर्वर पर CGI स्क्रिप्ट क्लाइंट पर संग्रहीत कुकी मानों को पढ़ और लिख सकती है।


जावास्क्रिप्ट दस्तावेज़ ऑब्जेक्ट की कुकी संपत्ति का उपयोग करके कुकीज़ में हेरफेर भी कर सकता है। जावास्क्रिप्ट वर्तमान वेब पेज पर लागू होने वाली कुकीज़ को पढ़ सकता है, बना सकता है, संशोधित कर सकता है और हटा सकता है।


Storing Cookies -कुकीज़ संग्रहीत करना


कुकी बनाने का सबसे आसान तरीका document.cookie ऑब्जेक्ट को एक स्ट्रिंग मान असाइन करना है, जो इस तरह दिखता है।


document.cookie = "key1 = value1;key2 = value2;expires = date";


यहां एक्सपायर विशेषता वैकल्पिक है। यदि आप इस विशेषता को एक मान्य दिनांक या समय के साथ प्रदान करते हैं, तो कुकी किसी दिए गए दिनांक या समय पर समाप्त हो जाएगी और उसके बाद, कुकीज़ का मूल्य एक्सेस नहीं किया जा सकेगा।


नोट - कुकी मानों में अर्धविराम, अल्पविराम या खाली स्थान शामिल नहीं हो सकते हैं। इस कारण से, आप कुकी में संग्रहीत करने से पहले मान को एन्कोड करने के लिए जावास्क्रिप्ट एस्केप () फ़ंक्शन का उपयोग करना चाह सकते हैं। यदि आप ऐसा करते हैं, तो आपको कुकी के मान को पढ़ते समय संबंधित अनस्केप () फ़ंक्शन का भी उपयोग करना होगा।


Example -उदाहरण


निम्नलिखित का प्रयास करें। यह एक इनपुट कुकी में ग्राहक का नाम सेट करता है।


<html>

   <head>   

      <script type = "text/javascript">

         <!--

            function WriteCookie() {

               if( document.myform.customer.value == "" ) {

                  alert("Enter some value!");

                  return;

               }

               cookievalue = escape(document.myform.customer.value) + ";";

               document.cookie = "name=" + cookievalue;

               document.write ("Setting Cookies : " + "name=" + cookievalue );

            }

         //-->

      </script>      

   </head>

   

   <body>      

      <form name = "myform" action = "">

         Enter name: <input type = "text" name = "customer"/>

         <input type = "button" value = "Set Cookie" onclick = "WriteCookie();"/>

      </form>   

   </body>

</html>


Output

Storing Cookies -कुकीज़ संग्रहीत करना


अब आपकी मशीन में नाम नामक कुकी है। आप अल्पविराम द्वारा अलग किए गए एकाधिक कुंजी = मान जोड़े का उपयोग करके एकाधिक कुकीज़ सेट कर सकते हैं।


Reading Cookies -कुकीज़ पढ़ना


एक कुकी को पढ़ना उतना ही सरल है जितना कि एक लिखना, क्योंकि document.cookie ऑब्जेक्ट का मूल्य कुकी है। इसलिए जब भी आप कुकी को एक्सेस करना चाहें तो आप इस स्ट्रिंग का उपयोग कर सकते हैं। दस्तावेज़.कुकी स्ट्रिंग अर्धविराम द्वारा अलग किए गए नाम = मान जोड़े की एक सूची रखेगी, जहां नाम कुकी का नाम है और मान इसका स्ट्रिंग मान है।


स्ट्रिंग को कुंजी और मानों में विभाजित करने के लिए आप स्ट्रिंग्स स्प्लिट () फ़ंक्शन का उपयोग इस प्रकार कर सकते हैं -


Example -उदाहरण


सभी कुकीज़ प्राप्त करने के लिए निम्न उदाहरण का प्रयास करें।


<html>

   <head>   

      <script type = "text/javascript">

         <!--

            function ReadCookie() {

               var allcookies = document.cookie;

               document.write ("All Cookies : " + allcookies );

               

               // Get all the cookies pairs in an array

               cookiearray = allcookies.split(';');

               

               // Now take key value pair out of this array

               for(var i=0; i<cookiearray.length; i++) {

                  name = cookiearray[i].split('=')[0];

                  value = cookiearray[i].split('=')[1];

                  document.write ("Key is : " + name + " and Value is : " + value);

               }

            }

         //-->

      </script>      

   </head>

   

   <body>     

      <form name = "myform" action = "">

         <p> click the following button and see the result:</p>

         <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>

      </form>      

   </body>

</html>


नोट - यहाँ लंबाई ऐरे वर्ग की एक विधि है जो एक सरणी की लंबाई लौटाती है। हम Arrays पर एक अलग अध्याय में चर्चा करेंगे। उस समय तक, कृपया इसे पचाने का प्रयास करें।

Reading Cookies -कुकीज़ पढ़ना


नोट - आपकी मशीन पर पहले से ही कुछ अन्य कुकीज सेट हो सकती हैं। उपरोक्त कोड आपकी मशीन पर सेट सभी कुकीज़ प्रदर्शित करेगा।


कुकीज़ की समाप्ति तिथि सेट करना

आप एक समाप्ति तिथि निर्धारित करके और कुकी के भीतर समाप्ति तिथि को सहेज कर कुकी के जीवन को वर्तमान ब्राउज़र सत्र से आगे बढ़ा सकते हैं। यह 'समाप्ति' विशेषता को दिनांक और समय पर सेट करके किया जा सकता है।


Example -उदाहरण


निम्नलिखित उदाहरण का प्रयास करें। यह दिखाता है कि कुकी की समाप्ति तिथि को 1 महीने तक कैसे बढ़ाया जाए।


<html>

   <head>   

      <script type = "text/javascript">

         <!--

            function WriteCookie() {

               var now = new Date();

               now.setMonth( now.getMonth() + 1 );

               cookievalue = escape(document.myform.customer.value) + ";"

               

               document.cookie = "name=" + cookievalue;

               document.cookie = "expires=" + now.toUTCString() + ";"

               document.write ("Setting Cookies : " + "name=" + cookievalue );

            }

         //-->

      </script>      

   </head>

   

   <body>

      <form name = "myform" action = "">

         Enter name: <input type = "text" name = "customer"/>

         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>

      </form>      

   </body>

</html>


Output

Cookies


Deleting a Cookie -एक कुकी हटाना


कभी-कभी आप एक कुकी को हटाना चाहेंगे ताकि कुकी को पढ़ने के बाद के प्रयास कुछ भी वापस न करें। ऐसा करने के लिए, आपको बस समाप्ति तिथि को अतीत के किसी समय पर सेट करना होगा।


Example - उदाहरण


निम्नलिखित उदाहरण का प्रयास करें। यह दिखाता है कि किसी कुकी की समाप्ति तिथि को वर्तमान तिथि से एक महीने पीछे सेट करके उसे कैसे हटाया जाए।


<html>

   <head>   

      <script type = "text/javascript">

         <!--

            function WriteCookie() {

               var now = new Date();

               now.setMonth( now.getMonth() - 1 );

               cookievalue = escape(document.myform.customer.value) + ";"

               

               document.cookie = "name=" + cookievalue;

               document.cookie = "expires=" + now.toUTCString() + ";"

               document.write("Setting Cookies : " + "name=" + cookievalue );

            }

          //-->

      </script>      

   </head>

   

   <body>

      <form name = "myform" action = "">

         Enter name: <input type = "text" name = "customer"/>

         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>

      </form>      

   </body>

</html>


Output

Cookies 01