मेरे पास क्लाइंट साइड जावास्क्रिप्ट सेटिंग कुकीज़ के साथ यह वास्तविक अजीब समस्या है। मैं कुछ 'वरीयताओं' को स्टोर करने के लिए कुकीज़ का उपयोग करने के लिए फिलहाल एक छोटा सा पृष्ठ डेमो विकसित कर रहा हूं। कृपया ध्यान दें कि मैं इस डेमो या किसी तीसरे पक्ष के jQuery प्लगइन के लिए सर्वर साइड भाषा का उपयोग नहीं कर सकता।जावास्क्रिप्ट दस्तावेज़.cookie हमेशा खाली स्ट्रिंग
तो मैं एक जावास्क्रिप्ट वस्तु लिखा है एक कुकी सेट करने के लिए:
var cookie = {
set: function (name,value,exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=name + "=" + value;
console.log(document.cookie);
}
}
cookie.set('foo','bar',2);
console.log(document.cookie);
यह सिर्फ एक खाली स्ट्रिंग देता है। मैं अगर मैं इसे सीधे document.cookie
> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
को संशोधित करने के माध्यम से कर सकते हैं कैसे आप क्लाइंट साइड जावास्क्रिप्ट के माध्यम से एक कुकी सेट करते देखने के लिए क्रोम कंसोल में चले गए हैं?
संपादित करें: मैं गुप्त मोड में नहीं हूं और कुकीज़ सक्षम हैं।
यह भी देखें https://developer.mozilla.org/en-US/docs/DOM/document.cookie –
समान (लेकिन समान नहीं) समस्या होने पर। हम कुकीज़ को पढ़ और लिख सकते हैं, बस उन सभी को नहीं। विशेष रूप से सत्र कुकी (JSESSIONID) को पढ़ा नहीं जा सकता ... ऐसा लगता है कि यह एक सुरक्षा सुविधा है लेकिन इस पर जानकारी खोजने में कठिनाई हो रही है ... किसी को इसके बारे में पता है? –
@StijndeWitt: यह एक अलग सवाल है, कृपया इसे इस पर बक्षीस जोड़ने के बजाय अपने आप से पूछें। बीटीडब्ल्यू, शायद जवाब ['http-only' कुकीज़] हैं (http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie) – Bergi