मैं क्रोम एक्सटेंशन पर काम कर रहा हूं जिसमें कुछ जानकारी (टैब जानकारी मुख्य रूप से) को सहेजने की ज़रूरत है जो विस्तार के पूरे जीवनकाल में मौजूद रहेगी (उदाहरण के लिए, जब तक उपयोगकर्ता ब्राउज़र बंद नहीं कर लेता है)।क्रोम एक्सटेंशन सेविंग डेटा
एक विकल्प स्थानीय स्टोरेज का उपयोग करना है, हालांकि स्थानीय स्टोरेज केवल स्ट्रिंग्स को बचा सकता है और यह मेरे लिए बहुत असहज बनाता है (क्योंकि मेरे पास सहेजने के लिए डेटा का एक गुच्छा है - तिथियां, यूआरएल, पूर्णांक इत्यादि)। जो मैं खोज रहा हूं वह मेरी अपनी जावास्क्रिप्ट ऑब्जेक्ट्स का उपयोग कर रहा है जो विस्तार के दौरान पूरे समय लाइव रहेंगे।
अब समस्या यह है कि कुछ जावास्क्रिप्ट फ़ाइलों में इन ऑब्जेक्ट्स को किसी स्क्रिप्ट में परिभाषित करने से उपयोगकर्ता उन्हें ब्राउज़र क्रिया पर क्लिक करने पर हर बार मिटा देगा। दूसरे शब्दों में, मेरे पास popup.html नामक ब्राउज़र क्रिया है जिसमें जावास्क्रिप्ट फ़ाइल शामिल है (जिसमें मैं अपनी ऑब्जेक्ट्स को सहेजना चाहता हूं) और जब भी उपयोगकर्ता ब्राउज़र क्रिया पर क्लिक करता है तो जेएस फ़ाइल में परिभाषित सभी ऑब्जेक्ट्स खो जाते हैं, फिर भी मैं सब कुछ जारी रखना चाहता हूँ।
ब्राउज़र डेटा पर कई क्लिकों के माध्यम से डेटा रखने के लिए मुझे कौन सा विकल्प रखना है और यह स्थानीय स्टोरेज नहीं है?
तो, क्या आप वर्तमान सत्र के लिए डेटा याद रखना चाहते हैं (ब्राउज़र बंद होने तक)? उस स्थिति में, बस [पृष्ठभूमि पृष्ठ] (https://code.google.com/chrome/extensions/background_pages.html) में ऑब्जेक्ट बनाएं। –
या आप [indexedDB] का उपयोग कर सकते हैं (https://developer.mozilla.org/en/IndexedDB/Using_IndexedDB) – gengkev
इन दिनों आप chrome.storage का उपयोग कर सकते हैं जो स्वचालित रूप से FWIW को क्रमबद्ध/deserialize करता है: http://stackoverflow.com/ ए/24281357/32453 – rogerdpack