2011-04-23 13 views
5

उदाहरण के लिए हम कहें कि हम URL की एक सूची सहेजना चाहते हैं और यह सूची गतिशील रूप से अपडेट की गई है। निम्नलिखित तरीके हैं जो मुझे लगता है कि यह किया जा सकता है।
1) एक पाठ फ़ाइल
2 में सहेजें) एक SQLite डेटा बेस
3 में सहेजें) एक वरीयता में सहेजें (मैं जानता हूँ कि वरीयताओं प्राथमिकताओं को संग्रहीत करने के लिए कर रहे हैं लेकिन वहाँ एक वरीयता का उपयोग करने के किसी भी दोष है?)
फ़ायरफ़ॉक्स में डेटा को सहेजने का सर्वोत्तम तरीका एड-ऑन

फ़ायरफ़ॉक्स ऐड-ऑन से संबंधित डेटा को सहेजने का सबसे अच्छा तरीका क्या है? यदि कोई सामान्य उत्तर संभव नहीं है, तो उपर्युक्त उदाहरण जैसी स्थिति के लिए सबसे अच्छी विधि क्या है? और आप ऐसा क्यों सोचते हैं कि ऐसी विधि उचित है और अन्य नहीं हैं?

उत्तर

9

प्राथमिकताएं सरल और हल्के हैं, लेकिन आपकी स्टोरेज आवश्यकताएं वरीयताओं को बढ़ा सकती हैं। SQLite डेटा के बड़े सेट के लिए अच्छा है जिसके लिए तेज़ क्वेरी क्षमताओं की आवश्यकता होती है। मैं फ़ाइल-आधारित भंडारण सरल और प्रभावी का उपयोग कर पाता हूं। बस सुनिश्चित करें कि जब भी संभव हो आप async I/O का उपयोग करें।

डेटा को JSON (या अन्य प्रारूप) टेक्स्ट फ़ाइल में सहेजना एक साधारण बात है। फ़ायरफ़ॉक्स सत्र स्टोर वही काम करता है। सहेजते समय, प्रोफाइल फ़ोल्डर स्थान का उपयोग करें, यहां तक ​​कि एक उप फ़ोल्डर भी बना सकते हैं।

MDN प्रोफ़ाइल फ़ोल्डर खोजने और पढ़ने/लिखने के एक पाठ फ़ाइल पर नोट है:

आप पुराने विज्ञप्ति या अंतर्निहित में nsIJSON घटक उपयोग कर सकते हैं फ़ायरफ़ॉक्स की वर्तमान रिलीज में JSON ऑब्जेक्ट में: https://developer.mozilla.org/en/JSON

+1

फ़ाइल पढ़ने और लिखने के लिए ओएस.फाइल का उपयोग करने की अनुशंसा की जाती है: [ओएस.फाइल] (https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread) – Noitidart

1

सरल भंडारण

सरल भंडारण मॉड्यूल एक ऑब्जेक्ट निर्यात करता है जिसे आपके ऐड-ऑन के लिए लगातार और निजी रखा जाता है। यह एक सामान्य जावास्क्रिप्ट ऑब्जेक्ट है, और आप इसे किसी अन्य के रूप में देख सकते हैं।

एक मूल्य की दुकान के लिए, बस भंडारण पर एक संपत्ति के लिए असाइन करें:

var ss = require("sdk/simple-storage"); 
ss.storage.myArray = [1, 1, 2, 3, 5, 8, 13]; 
ss.storage.myBoolean = true; 
ss.storage.myNull = null; 
ss.storage.myNumber = 3.1337; 
ss.storage.myObject = { a: "foo", b: { c: true }, d: null }; 
ss.storage.myString = "O frabjous day!"; 

आप सरणी, बूलियन, संख्या, वस्तु, अशक्त, और स्ट्रिंग मान संग्रहीत कर सकते। यदि आप अन्य प्रकार के मानों को स्टोर करना चाहते हैं, तो आपको पहले उन्हें स्ट्रिंग्स या इन प्रकारों में से किसी एक को रूपांतरित करना होगा।

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