क्या jQuery ब्राउज़र में कुकीज़ पढ़ / लिख सकता है?


99

सरल उदाहरण: मैं एक पृष्ठ (जैसे divs या तालिका पंक्तियों) पर कुछ आइटम रखना चाहता हूं, और मैं उपयोगकर्ता को उन्हें चुनने के लिए उन पर क्लिक करने देना चाहता हूं। यह jQuery में काफी आसान लगता है। किसी भी सर्वर साइड पोस्ट बैक के साथ उपयोगकर्ता कौन से आइटम पर क्लिक करता है, इसे बचाने के लिए, मैं सोच रहा था कि एक कुकी इसे प्राप्त करने का एक सरल तरीका होगा।

  1. क्या यह धारणा है कि इस मामले में कुकी ठीक है, सही है?
  2. यदि यह सही है, तो क्या jQuery एपीआई के पास कुकी जानकारी को पढ़ने / लिखने का कोई तरीका है जो डिफ़ॉल्ट जावास्क्रिप्ट एपीआई की तुलना में अच्छा है?

जवाबों:


52

कुकी सेट करने के लिए डिफ़ॉल्ट जावास्क्रिप्ट "एपीआई" उतना ही आसान है:

document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'

JQuery कुकी प्लगइन का उपयोग करें जैसे:

$.cookie('mycookie', 'valueOfCookie')

14
हाँ, कुकीज़ लिखना आसान है, लेकिन उन्हें पढ़ना एक दर्द की तरह है, क्योंकि आपको स्ट्रिंग्स और सामान को विभाजित करना होगा। यदि आप पहले से ही JQuery का उपयोग कर रहे हैं, तो कुकी प्लगइन अच्छा हो सकता है ...... कुकीज़ पढ़ने के बारे में एक कष्टप्रद बात यह है कि कुछ ब्राउज़र अंतिम अर्धविराम को हटा देते हैं और कुछ नहीं .... किसी और को संभालने के लिए अच्छा है सभी कि।
पीटर अजताई

8
ओह, और JQuery कुकी प्लगइन जेएस की केवल 40 लाइनें हैं ... और आप इसे अपनी इच्छा से संपादित कर सकते हैं, ताकि आपको ऐसा न लगे कि आप एब्सट्रैक्शन डेंजर ज़ोन में प्रवेश कर रहे हैं।
पीटर अज़ताई

3
JQuery से संबंधित नहीं जैसा कि पूछा गया। पीटर Ajtai टिप्पणी से पता चलता है कि क्यों जावास्क्रिप्ट के बजाय jQuery प्लगइन के लिए पूछते हैं।
CallMeLaNN

4
यहाँ मृत लिंक या खराबी
प्लगइन्स

18

आपको कुकी प्लगइन की आवश्यकता होगी, जो कुकी फ़ंक्शन को कई अतिरिक्त हस्ताक्षर प्रदान करता है।

$.cookie('cookie_name', 'cookie_value')एक क्षणिक कुकी को संग्रहीत करता है (केवल इस सत्र के दायरे में मौजूद है, जबकि $.cookie('cookie_name', 'cookie_value', 'cookie_expiration")एक कुकी बनाता है जो सत्रों में चलेगा - अधिक जानकारी के लिए http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/ देखें JQuery के कुकी प्लगइन पर।

यदि आप पूरी साइट के लिए उपयोग की जाने वाली कुकीज़ सेट करना चाहते हैं, तो आपको इस तरह जावास्क्रिप्ट का उपयोग करना होगा:

document.cookie = "name=value; expires=date; domain=domain; path=path; secure"

1
ऐसा प्रतीत होता है कि यह लिंक इस लेखन के रूप में मृत है
मार्क शुलथिस

11

कुकी पुनर्प्राप्ति और प्रपत्रों के लिए बाध्यकारी के साथ हेरफेर के लिए एक नया jQuery प्लगइन: http://plugins.jquery.com/project/cookies


3
जो कोई भी लिंक को बहुत तेज़ी से पढ़ता है, उसे कुकी के अंत में 's' पर ध्यान दें, ताकि वह एलेक्स फोर्ट
पैट्रिक

2
यहाँ लिखने के समय एक बेहतर लिंक है github.com/carhartl/jquery-cookie
Wiebe Tijsma

1
@Zidad जो कि कूकीज द्वारा लिंक्ड कुकीज़ के समान प्लगइन नहीं है। वह जो जुड़ा हुआ है वह अब code.google.com/p/cookies
JAAulde

@JAAulde आह मुझे इस बात का अहसास नहीं था। क्योंकि लिंक मृत था :) धन्यवाद!
विएब तिजमा

7

आपके प्रश्न का उत्तर देने के लिए, हाँ। दूसरे ने उस भाग का उत्तर दिया है, लेकिन ऐसा भी लगता है कि आप पूछ रहे हैं कि क्या यह करने का सबसे अच्छा तरीका है।

यह शायद आप क्या कर रहे हैं पर निर्भर करेगा। आमतौर पर आपके पास एक उपयोगकर्ता क्लिक होता है कि वे किन वस्तुओं को खरीदना चाहते हैं (उदाहरण के लिए ऑर्डर करना)। तब वे एक खरीद या चेकआउट बटन दबाते थे। फिर फॉर्म एक पेज पर भेज देता है और परिणाम को संसाधित करता है। आप एक कुकी के साथ वह सब कर सकते हैं, लेकिन मुझे यह अधिक कठिन लगेगा।

आप अपने दूसरे प्रश्न को किसी अन्य विषय में पोस्ट करने पर विचार कर सकते हैं।



4

आप यहां "कुकी" के साथ टैग किए गए सभी jQuery प्लग-इन ब्राउज़ कर सकते हैं:

http://plugins.jquery.com/plugin-tags/cookies

वहाँ बहुत सारे विकल्प।

JQuery संग्रहण नामक एक को देखें, जो HTML5 के लोकलस्टोरेज का लाभ उठाता है। यदि लोकलस्टोरेज उपलब्ध नहीं है, तो यह कुकीज़ को डिफॉल्ट करता है। हालाँकि, यह आपको समाप्ति सेट करने की अनुमति नहीं देता है।


4

ऐसा लगता है कि jQuery कुकी प्लगइन डाउनलोड के लिए उपलब्ध नहीं है। हालाँकि, आप एक ही jQuery कुकी प्लगइन को jQuery और कुकीज में वर्णित कुछ सुधारों (डाउनलोड / सेट / डिलीट और एक प्लगइन) के साथ डाउनलोड कर सकते हैं ।


मुझे यह भी पता है, कुकी प्लगइन विकास पहली रिलीज के बाद से बंद हो गया और यह सुनिश्चित नहीं हुआ कि यह jQuery 1.4 के साथ संगत है या नहीं
CallMeLaNN

प्लगइन jQuery 1.4 के साथ संगत है, क्योंकि तब से विस्तार सिंटैक्स नहीं बदला गया है ...
jQuery प्रेमी

2

मैंने एक स्क्रिप्ट लिखने में कामयाबी हासिल की है, जिसमें उपयोगकर्ता क्लाऊस हार्टल की कुकी स्क्रिप्ट का उपयोग करके अपनी भाषा चुन सकता है । मुझे कुछ घंटों का काम लगा, और मुझे उम्मीद है कि मैं दूसरों की मदद कर सकता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.