2011-06-03 19 views
27

में जावास्क्रिप्ट का उपयोग कर कुकीज़ मैं निम्नलिखित निर्देशिका वृक्ष:स्थापना एक स्थानीय html फ़ाइल

+ folder1 
|--- folder2 
|------ page1.html 
|--- page2.html 

अगर मैं जावास्क्रिप्ट का उपयोग page1.html में कुछ कुकी सेट, क्या है कि कुकी के लिए इस्तेमाल किया पथ है?

संपादित करें:
मुझे इसे बेहतर समझाएं। मैं एक स्थानीय फाइल के साथ काम कर रहा हूँ। page1.html को /home/user/.../folder1/folder2/page1.html के माध्यम से एक्सेस किया जा रहा है और एक HTTP सर्वर का उपयोग कर क्लाइंट मशीन के माध्यम से नहीं।

बस स्पष्ट करने के लिए:
ऐसा लगता है कि कुछ ब्राउज़रों (जैसे Chrome) जब file:/// का उपयोग कर कुकी संग्रहीत नहीं है, लेकिन दोनों फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर से करते हैं।

+0

कुकी इसे उस पृष्ठ से स्वतंत्र करता है जहां इसे बनाया गया था, "पथ" में केवल वेबसाइट डोमेन शामिल है। (मान लें कि कुकी का नाम ब्राउजर की कुकी सूची में दिखाई देता है) –

+0

मेरा संपादन देखें। मुझे नहीं पता कि मुझे डाउनवोट क्यों मिला है: (' –

+0

क्षमा करें, सोचा कि आपने कुछ बुनियादी जानकारी की जांच नहीं की है - उपेक्षा। –

उत्तर

17
MDC page for document.cookie से

:

यदि निर्दिष्ट नहीं, [path तर्क] वर्तमान दस्तावेज़ स्थान की वर्तमान पथ पर चूक।

तो आपके मामले में, यह /folder1/folder2/ होगा।


मैं शुरू में नहीं देखा है कि आप सवाल शीर्षक में निर्दिष्ट था "स्थानीय" - यकीन नहीं करता है, तो यह है, जबकि मैं अपने जवाब लिख रहा था अद्यतन किया गया था। ब्राउज़र के आधार पर file:/// प्रोटोकॉल का उपयोग करते समय ब्राउज़ करते समय कुकीज़ सेट नहीं की जाती हैं।

+0

@ स्क्वीगी पोस्ट पर टिप्पणी देखें। मैं उलझन में हूं ... –

+0

@ ऑस्कर मेरा देखता है, आपके बारे में 20 पिक्सल! – lonesomeday

+3

हां, ऐसा लगता है कि यह बात है। आईई और फ़ायरफ़ॉक्स 'फ़ाइल: ///' का उपयोग कर कुकीज़ सेट करते हैं लेकिन क्रोम ऐसा नहीं करता :) वैसे भी, मुझे लगता है कि आपका उत्तर आईई और फ़ायरफ़ॉक्स के लिए सही है। –

9

ब्राउज़र file:// यूआरएल प्रोटोकॉल के लिए कुकीज़ संग्रहीत नहीं करते हैं, यह बस कुछ भी सेट करने में आसानी से और चुपचाप विफल हो जाएगा। तो यदि यह वास्तव में "स्थानीय" है और डोमेन पर नहीं है तो आपको कोई समस्या हो सकती है।

+0

ऐसा लगता है कि वे करते हैं। मैं 'page1.html' में एक कुकी सेट कर रहा हूं, फिर ब्राउज़र बंद करूँगा, पृष्ठ को फिर से खोलें (स्थानीय रूप से, ज़ाहिर है) और फिर मैं उस कुकी के लिए पूछता हूं और यह अभी भी है:? –

+1

@ ऑस्कर मुझे लगता है कि यह एक क्रॉस-ब्राउज़र चीज है। क्रोम फ़ायरफ़ॉक्स या इंटरनेट एक्सप्लोरर की तुलना में समान मूल नीति की थोड़ी अलग व्याख्या है, खासकर जब यह 'फ़ाइल: ///' प्रोटोकॉल की बात आती है। – lonesomeday

5

क्रोम के लिए सेट-योग्य-फ़ाइल-कुकीज़ सेट करें और यह आपके लिए काम करना चाहिए। साथ ही, कुछ विशेषताएं हैं जिन्हें आपको काम करने के लिए "सभी कुकीज़ स्वीकार करें" सेट करना होगा, लेकिन यदि आप करते हैं, तो सुनिश्चित करें कि आप ऑनलाइन वापस जाने से पहले वापस सेट करें।

+1

'--enable-file-Cookies' कैसे सेट करें यह कुछ है जहां 'chrome: // flags' ?? – Mostafa

8

आप पर एक मैक है, तो आप Chrome बंद करें और इसलिए की तरह इसे पुन: लॉन्च कर सकते हैं:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-file-cookies 

फिर आप स्थानीय फ़ाइलों पर कुकी सेट करने में सक्षम हो जाएगा।

+0

+1: यह काम किया। टर्मिनल में प्रयुक्त मुझे "--able-फ़ाइल-कुकीज़" ध्वज पर दूसरा डैश निकालना पड़ा, इसलिए यह इस तरह दिखना चाहिए: 'खुला/एप्लिकेशन/Google \ क्रोम.एप/सामग्री/मैकोज़ /Google \ क्रोम-सक्षम-फ़ाइल-कुकीज़' – FreeAsInBeer

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