2012-11-08 16 views
15

मैं सीखने की कोशिश कर रहा हूं कि निम्न कोड के साथ स्थानीय स्टोरेज जेएस ऑब्जेक्ट का उपयोग कैसे करें।स्थानीय स्टोरेज क्रोम में क्यों नहीं चल रहा है?

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function saveStuff() { 
    sessionStorage.setItem('sessionKey', 'sessionValue'); 
    localStorage.setItem('localKey', 'localValue'); 
} 
</script> 
</head> 
<body> 
<button type="button" onclick="saveStuff()">Save</button> 
</body> 
</html> 

मुझे पता है यह हमेशा फ़ाइल के साथ काम नहीं करता हूं: /// तो मैं नेवला उपयोग कर रहा हूँ यह की सेवा करने के लिए। जब मैं सेव बटन पर क्लिक करता हूं, तो परिणाम क्रोम के जावास्क्रिप्ट कंसोल में मेरे लिए सही दिखते हैं। हालांकि जब मैं रीफ्रेश दबाता हूं तो स्थानीय और सत्र भंडारण दोनों साफ़ हो जाते हैं जहां मैं स्थानीय भंडारण मूल्य को जारी रखने की अपेक्षा कर रहा था। यह http://127.0.0.1/ और http://localhost/ दोनों पर होता है।

क्या किसी को पता है कि यह क्यों हो रहा है? सेटिंग्स में, सामग्री सेटिंग्स मैंने चुना है 'स्थानीय डेटा को सेट करने की अनुमति दें (अनुशंसित)' और अनचाहे 'तृतीय-पक्ष कुकीज़ और साइट डेटा को अवरोधित करें'। क्या मुझे अपने कोड में कुछ याद आ रही है?

(क्रोम संस्करण 23.0.1271.64 मीटर)

+0

क्या यह बेवकूफ काम करता है? http://jsfiddle.net/6bvjD/ जब आप "सेव करें" पर क्लिक करते हैं और फिर पेज को फिर से लोड करते हैं, तो मैं संग्रहीत मान प्राप्त करता हूं। – pimvdb

+0

अच्छी तरह से wtf। हाँ यह करता है। कौन से बचाए गए मूल्यों को जारी रखने के लिए तात्पर्य है, इसे पढ़ने का प्रयास होना चाहिए? वह मेरे किसी मतलब का नहीं है। –

+0

क्या आप * निश्चित हैं * आप किसी भी तरह से 'localStorage.clear() 'या' localStorage.removeItem' को कॉल नहीं कर रहे हैं? – pimvdb

उत्तर

11

ठीक है। धन्यवाद इस पर pimvdb पर जाना चाहिए, लेकिन यहां समाधान है।

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function saveStuff() { 
    sessionStorage.setItem('sessionKey', 'sessionValue'); 
    localStorage.setItem('localKey', 'localValue'); 
} 
localStorage.getItem('localKey'); 
sessionStorage.getItem('sessionKey'); 
</script> 
</head> 
<body> 
<button type="button" onclick="saveStuff()">Save</button> 
</body> 
</html> 

सारांश ऐसा लगता है कि आपको इसे जारी रखने के लिए कुंजी को पढ़ने का प्रयास करना चाहिए।

निष्कर्ष: डब्ल्यूटीएफ।

+0

मुझे लगता है कि यह एक बग है। उठाया [# 160056] (http://code.google.com/p/chromium/issues/detail?id=160056)। –

+1

यह DevTools में एक बग की तरह दिखता है। स्टोरेज एंट्री संसाधन पैनल में तब तक नहीं दिखाया जाता जब तक आप वास्तव में 'लोकल स्टोरेज' या किसी भी संपत्ति तक नहीं पहुंच जाते। यदि आप पेज लोड पर 'लोकल स्टोरेज;' निष्पादित करते हैं तो देवटूल ठीक काम करता है। – pimvdb

+1

मैं console.log में मान दिखा रहा हूं, लेकिन यह अभी भी जारी नहीं है। (क्रोम) –

8

<!-- Necro post I know, but maybe it helps someone else -->

मैं यह पता लगाने का कारण नहीं जान मैं अपने localStorage में देव उपकरण में कुछ नहीं देख सकता था, लेकिन कंसोल में यह देख सकते हैं जब localStorage टाइपिंग। खैर, अगर आप देव टूल्स के साथ कुछ स्टोर करते हैं, तो आप को अपने होस्ट के लिए सूचीबद्ध नहीं देख पाएंगे। जब मैंने देव टूल्स को बंद/दोबारा खोल दिया, तो मैं अपना डेटा देख सकता था।

तो, निष्कर्ष में, देव उपकरण को बंद/दोबारा खोलें।

+1

यह पता लगाने की कोशिश कर रहे पिछले 3 घंटों के लिए अपने बालों को खींच रहा था। आपका समाधान काम किया। धन्यवाद। –

+0

मेरा काम यहाँ किया गया है। – cmeza

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