मैं कार्ड गेम के लिए deck building application पर काम कर रहा हूं। मैं डेक को बचाने और पुनर्प्राप्त करने के लिए स्थानीय स्टोरेज का उपयोग कर रहा हूं। ऐसा लगता है कि क्रोम में बेकार ढंग से काम कर रहा है, लेकिन फ़ायरफ़ॉक्स में यह अविश्वसनीय रूप से काम कर रहा है।फ़ायरफ़ॉक्स में अविश्वसनीय स्थानीय स्टोरेज
एफएफ में, सबकुछ पहले ठीक काम करता प्रतीत होता है, डेक भी एक रीलोड के माध्यम से बनी रहती है। हालांकि, अगर मैं एक दूसरा डेक जोड़ता हूं और पुनः लोड करता हूं, तो यह केवल पहला डेक पाता है। अगर मैं पहली डेक हटा देता हूं, तो यह अब कुछ भी नहीं पाता है।
सभी स्थानीय स्टोरेज इंटरैक्शन स्क्रिप्ट/vault.js में है, जिसे मैं नीचे पुन: उत्पन्न करूंगा। क्या मुझसे कुछ गलत हो रही है?
vault = {};
vault.makeKey = function (s) {
return "deck:" + s;
};
vault.friendlyName = function(s) {
if (s.indexOf("deck:") === 0) {
return s.substring(5);
} else {
return s;
}
};
vault.store = function (deck, name) {
if (!window.localStorage) {
alert("This browser doesn't support local storage. You will be unable to save decks.");
return;
}
var key = vault.makeKey(name);
localStorage.setItem(key, deck.export());
};
vault.retrieve = function (key) {
deck.import(localStorage[key]);
};
vault.getDecks = function() {
var keys = Object.keys(localStorage),
out = [],
i,
k,
name = "";
for (i = 0; i < keys.length; i++) {
k = keys[i];
name = vault.friendlyName(k);
if (name !== k && localStorage[k]) {
out.push({name: name, key: k});
}
}
out.sort(function (a, b) {
return a.name > b.name ? 1 : -1;
});
return out;
};
vault.deleteDeck = function (key) {
localStorage.removeItem(key);
};
असल में, ऐसा लगता है कि स्थानीय स्तर पर चाबियां बेहतर अवधि की कमी के लिए 'जमे हुए' हो जाती हैं; जब मैं इसे छेड़छाड़ करता हूं तो स्थानीय स्टोरेज सही तरीके से व्यवहार करेगा, लेकिन जैसे ही मैं पृष्ठ को रीफ्रेश करता हूं, यह उस स्थिति में वापस लौटता है जो इसे जमे हुए हो जाता है।
क्या आप http://jsfiddle.net डेमो बना सकते हैं? –
मैंने अपनी पहली पोस्ट में एप्लिकेशन के लिए एक लिंक पोस्ट किया। यहां यह फिर से है: http://asmor.com/anr/ – Asmor
अच्छा, अगर यह एक पहेली में है, तो मैं कोड के साथ काम कर सकता हूं और विभिन्न चीजों की जांच कर सकता हूं। यह जरूरी नहीं है, लेकिन इससे मुझे और अधिक संभावनाएं मिलती हैं और कुछ अन्य यह देखने के लिए झुकाएंगे कि क्या हम इसे समझ सकते हैं। –